【4】数据分析基础(pandas中的series 1)

ops/2024/12/15 14:47:07/

学习目标2

pandas模块的学习。

pandas是一个基于NumPy的模块,它的功能在于数据的筛选清洗和处理,与NumPy模块相比,pandas模块更擅长处理二维数据。

pandas模块主要有Series和DataFrame两种数据结构。

接下来,我们先学习Series的相关知识:

1. Series的概念

2. 构造一个Series

3. 访问Series数据

4. Series的常用属性

安装与导入pandas

安装pandas

在使用pandas前,我们需要先安装pandas
在终端中输入代码:pip install pandas即可。
如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/

示例:

导入pandas

在使用pandas模块最开始,由于pandas不是Python的内置模块,我们需要在代码的开头,将pandas模块导入。
为了让其方便调用,我们通常会将其简写成pd。

导入了pandas模块,我们就可以进行数据集的操作啦。接下来, 我们先学习Series的概念和创建。

Series

定义

Series,中文叫做序列,pandas模块的一种数据类型。

是一个一维的、带索引(index)的数组对象。

目前可以先不关注代码的部分,只关注Series。

隐喻

Series,就像排行榜,可以通过有次序的名次,找到对应的玩家名字。

右侧是一个print出来的Series,它由3部分构成。
左侧是索引(index),右侧是值(values),下面是值(values)的数据类型。
一个索引对应一个值。索引和值之间,有空格隔开。

Series和字典,有一定的相似之处。

一个字典中,通过键(key),可以访问所对应的值(value)。

Series也是如此,一个Series的索引(index)在左边,值(values)在右边,可以通过左边的索引index访问到右边对应的值values。

和字典不同的是:

Series中的数据是有顺序的。

除了直接通过index访问外,还能通过0,1,2这样的位置进行访问。

Series的index是可以定义的。

如果没有定义index,index就会默认从0开始生成。

Series的值(values)可以是多种数据类型:字符串、整型、浮点型、布尔型。

一个Series在print输出时,值的数据类型会在底部,用dtype标示出来。

需要注意的是,一个Series里的所有值,数据类型都是一样的。

代码的作用

这几行代码,构造了一个Series。

第1行,导入pandas模块。

第3行和第4行,定义了两个列表。

第6行,使用pd.Series()构造函数,创建了一个Series,并赋值给了变量info。

第8行,输出info。

import pandas as pd

GDP = [80855, 77388, 68024, 47251, 40471]

city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

print(info)

代码的具体解释:

pd.Series( )

通过调用pandas模块里的Series()函数,可以构造一个Series。

import pandas as pd

GDP = [80855, 77388, 68024, 47251, 40471]

city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

print(info)

第一个常用参数:data

pd.Series()中,参数data表示需要传入的数据,可以是列表,常量,数组等。

示例中,GDP是一个列表,传入了pd.Series()函数中,列表中的元素会成为Series中的值(values)。

注意:如果不传入数据,会生成一个空的Series。

import pandas as pd

GDP = [80855, 77388, 68024, 47251, 40471]

city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

print(info)

第二个常用参数:index

参数index用于定义Series的索引(index)。

只需要将另一个列表赋值给参数index。

示例中,我们将定义的列表city赋值给参数index。

city中的值,会成为Series的index。

若不传入参数index,那么生成的Series的索引(index)就会默认从0开始生成。

需要注意:作为index的列表,和作为值的列表,元素个数需要一致,否则会报错。

import pandas as pd

GDP = [80855, 77388, 68024, 47251, 40471]

city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

print(info)

赋值的变量

将pd.Series()函数创建的Series,赋值给了info这个变量。

将info输出可以看到,它是一个Series对象。

值(values)是由列表GDP的值组成;

索引(index)是由列表city的值组成;

值(values)的数据类型是整型。

import pandas as pd

GDP = [80855, 77388, 68024, 47251, 40471]

city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

print(info)

总结:

1. 传入列表

导入pandas模块后,我们定义了两个列表GDP和rank。

我们尝试用Series构造函数,传入列表GDP作为Series的值,传入列表rank作为Series的index,赋值给变量info,并将其输出。

2. 传入数组

对于pd.Series(data,index),对参数data传入列表是最为常见的。

其实,参数data还可以传入数组。

我们尝试用Series构造函数,传入一维数组GDP作为Series的值,传入列表rank作为Series的index,赋值给变量info,并将其输出。

3. 传入常量

pd.Series(data,index)的参数data若是常量,则必须提供索引。

此时常量才能按照索引(index)的数量进行重复,并与其一一对应。

通过常量构造series的代码如下:

总结:

Series构造函数

调用pandas模块里的Series函数,用于构造一个Series。
传入一个列表作为必选参数,列表中的元素,会成为Series中的值(values)。
传入一个列表作为可选参数,列表中的元素,会成为Series中的索引(index)。如果不传入可选参数,index就会默认从0开始生成。

前面,我们了解了Series这种数据结构,学习了如何创建一个Series。

接下来,我们学习访问Series的数据的两种方式


http://www.ppmy.cn/ops/142134.html

相关文章

Kubernetes 的 Web UI 仪表板部署以及使用

前言 Kubernetes 仪表盘为集群提供了基于网页的用户界面。人们可以使用该仪表盘在集群上部署应用程序,也可以对集群中已有的应用程序进行故障排查。此外,该仪表盘还能让人深入了解集群中的资源情况。它由 Kubernetes 官方提供,人们能够通过它…

使用DuckDB 加载和清洗数据

DuckDB CLI是允许用户直接从命令行与DuckDB交互的工具。前文你看到了如何使用Python与DuckDB交互。但是,有时你只是想直接使用数据库—例如在创建新表、从不同数据源导入数据以及执行与数据库相关的任务时。在这种情况下,直接使用DuckDB CLI要有效得多。…

AI来了,云原生更稳了

不了解AI的时候,往往会将其视为洪水猛兽,因为AI确实具有颠覆一切的巨大能量;但是当你慢慢接近它、拥抱它甚至尝试驾驭它,你会发现AI如同其他许多新技术一样,都需要扎根的土壤、生长的养分和成熟过程中适宜的环境等。 “…

【0x000A】HCI_Reject_Connection_Request命令详解

目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Reject_Connection_Request命令格式 2.2. 参数说明 2.2.1. BD_ADDR(蓝牙设备地址) 2.2.2. Reason(拒绝原因) 三、返回事件及参数说明 3.1. 返回参数 3.2. 生成的事件…

Django结合websocket实现分组的多人聊天

其他地方和上一篇大致相同,上一篇地址点击进入, 改动点1:在setting.py中最后再添加如下配置: # 多人聊天 CHANNEL_LAYERS {"default":{"BACKEND": "channels.layers.InMemoryChannelLayer"} }因此完整的se…

力扣.——560. 和为 K 的子数组

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums [1,2,3], k…

vue依据下拉框选择其余信息

下拉框选择内容后&#xff0c;其余input框与该下拉框相关的内容实时回显,用change加方法 <el-row><el-col :span"12"><el-form-item label"选择站点" prop"resourcesId"><el-select v-model"form.resourcesId" …

【Linux网络】网络基础:传输层UDP/TCP协议(一)

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;Linux “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 传输层UDP/TCP协议 &#x1f4d2;端口号&#x1f4dc;UDP协议UDP协议端格式UDP的特点UDP的缓…