python日记——Pandas之入门
-
Pandas库的介绍
1、Pandas是Python第三方库,提供高性能易用数据类型和分析工具,Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用;
2、Pandas包含两种数据类型:Series, DataFrame,基于上述数据类型有各类操作:基本操作、运算操作、特征类操作、关联类操作;
3、对比:NumPy 提供基础数据类型,关注数据的结构表达,主要体现在维度,数据间的关系;Pandas提供基于ndarray的扩展数据类型Series和DataFrame,关注数据的应用表达,主要体现在数据与索引间的关系。 -
Series类型
1、Series类型由一组数据及与之相关的数据索引组成,Series是一维带“标签”数组;
2、Series类型可以由如下类型创建:Python列表、标量值(不能省略index)、Python字典(index表示进行选择操作)、ndarray(索引和数据都可以通过ndarray类型创建)、其他函数(range()函数等);
3、可以用过index自定义索引,自定义索引和自动索引可以共存,但不能混用;
4、Series类型的操作:
Series类型包括index和values两部分:
Series类型的操作类似ndarray类型:
Series类型的操作类似Python字典类型:
5、对齐操作:Series类型在运算中会自动对齐不同索引的数据
6、Series对象和索引都可以有一个名字,存储在属性.name中
7、Series对象可以随时修改并即刻生效。 -
DataFrame类型
1、DataFrame类型由共用相同索引的一组列组成,DataFrame是二维带“标签”数组:
2、DataFrame是一个表格型的数据类型,每列值类型可以不同,DataFrame既有行索引(index)、也有列索引(column),DataFrame常用于表达二维数据,但可以表达多维数据:
3、DataFrame类型可以由如下类型创建:
• 二维ndarray对象
• 由一维ndarray、列表、字典、元组或Series构成的字典
• Series类型
• 其他的DataFrame类型
4、DataFrame基本操作类似Series,依据行列索引,可通过df.info()查看df的信息。 -
Pandas库的数据类型操作
1、如何改变Series和DataFrame对象?
增加或重排:重新索引
删除:drop
2、.reindex()能够改变或重排Series和DataFrame索引,
.reindex(index=None, columns=None, …)的参数:
3、索引类型的常用方法:
Series和DataFrame的索引是Index类型。
4、.drop()能够删除Series和DataFrame指定行或列索引,默认为删除行索引,当删除列索引时,需要添加"axis=1"
-
Pandas库的数据类型运算
1、算术运算根据行列索引,补齐后运算,运算默认产生浮点数;补齐时缺项填充NaN (空值);二维和一维、一维和零维间为广播运算;采用+ ‐ * /符号进行的二元运算产生新的对象;
2、方法形式的运算:
广播运算是指两个数组进行运算,一个是Series数组(即一维数组),另一个是DataFrame数组(多维数组),即 一维数组看成是一行分别与多维数组的每一行进行运算。需要注意的是,如果一维数组过短,结果每行的长度以最大值为准,超过的部分空值,即NaN
3、比较运算只能比较相同索引的元素,不进行补齐;二维和一维、一维和零维间为广播运算;采用> < >= <= == !=等符号进行的二元运算产生布尔对象。
-
df.loc[ ]和df.iloc[ ]
1、df.loc[ ]:用index定位数据,也就是说loc是根据index来索引,比如下边的df定义了一个index,那么loc就根据这个index来索引对应的行
2、df.iloc[ ]:用position定位数据,iloc并不是根据index来索引,而是根据行号来索引,行号从0开始,逐次加1。
本文内容参考于北京理工大学嵩天老师相关课程