Pandas 系列之Series类型数据
本文开始正式写Pandas的系列文章,就从:如何在Pandas中创建数据开始。Pandas中创建的数据包含两种类型:
- Series类型
- DataFrame类型
内容导图
Series类型
Series 是一维数组结构,它仅由index(索引)和value(值)构成的。
Series的索引具有唯一性,索引既可以是数字,也可以是字符,系统会自动将它们转成一个object类型(pandas中的字符类型)。
DataFrame类型
DataFrame 是将数个 Series 按列合并而成的二维数据结构,每一列单独取出来是一个 Series ;除了拥有index和value之外,还有column。下图中:
- 索引Index:0,1,2,3…….
- 字段属性:fruit,number
- 值value:苹果、葡萄等;200、300等
导入库
先导入两个库:
1 | import pandas as pd |
Series类型创建与操作
- 通过可迭代类型列表、元组生成
- 通过python字典生成
- 通过numpy数组生成
列表生成
通过列表的方式生成Series数据
1 | s1 = pd.Series([7,8,9,10]) |
1 | s2 = pd.Series(list(range(1,8))) |
元组生成
下面的方法是通过元组生成Series数据
1 | s3 = pd.Series((7,8,9,10,11)) |
1 | s4 = pd.Series(tuple(range(1,8))) # 从1到8,不包含8 |
使用字段创建
字典的键为索引,值为Series结构对应的值
1 | dic_data = {"0":"苹果", "1":"香蕉", "2":"哈密瓜","3":"橙子"} |
使用numpy数组
1 | s6 = pd.Series(np.arange(3,9)) |
指定索引(列表)
默认的索引都是从0开始的数值,可以在创建的时候指定每个索引
1 | # 默认 |
1 | s7 = pd.Series([7,8,9,10], index=["A","B","C","D"]) # 指定索引值 |
指定索引(字典形式)
字典的键作为索引值
1 | dic_data = {"水果1":"苹果", |
查看索引值
1 | s8 |
1 | s8.index # 查看索引值 |
查看值
1 | s8 |
1 | s8.values |
更改索引
1 | # 1、新索引 |
查看是否存在空值
1 | s7 |
1 | s7.isnull() # 没有空值 |
1 | s7.notnull() |
查看某个索引的值
1 | s7 |
两种方式查看:
- 通过自定义的索引查看
- 通过对应的数值索引查看
1 | s7["A"] # 自定义的索引值 |
1 | s7[0] # 默认的数值索引 |
1 | s7["D"] |
1 | s7[3] |
将Series转成字典
1 | s_dic = s7.to_dict() # 转成字典形式 |
1 | type(s_dic) # 结果显示为字典类型 |
给Series索引命名
1 | s8 |
1 | s8.index # 原索引 |
1 | s8.index.name = "水果" # 索引命名 |
结果显示为:
水果
one 苹果
two 香蕉
three 哈密瓜
four 橙子
dtype: object
1 | s8.index # 更改之后的索引 |
Index(['one', 'two', 'three', 'four'], dtype='object', name='水果')
修改Series数值
1 | s8 |
1 | s8["three"] = "西瓜" # 等价于s8[2] = "西瓜" |
更改之后的值为:
水果
one 苹果
two 香蕉
three 西瓜
four 橙子
dtype: object
Series结构转成DataFrame结构
1 | s8 |
在将s8转成DataFrame的过程中涉及到3个函数:
- to_frame:转成DataFrame
- reset_index:DataFrame类型的索引重置
- rename:DataFrame的字段属性重置
关于DataFrame的相关内容下节详细讲解,敬请期待!
扩展阅读
在之前写过的旅游攻略文章中使用pandas的很多知识点,可供学习:
- 海滨城市:厦门真的不止鼓浪屿
- 娱乐之都:长沙31块的臭豆腐它香吗?
- 美食之都:成都的火锅应该很辣吧!
- 13朝古都:西安-当秦始皇遇上biangbiang面
- 北方明珠:北方明珠大连等你