概述
文章目录
- 学习目标
- 学习内容
- pandas的理解
- Numpy和Pandas的对比
- Series类型
- DataFrame类型
- DataFrame是什么类型
- pandas数据类型的操作
- 数据库的操作
- 删除指定索引的对象
- 算术运算法则
- 比较运算
- 总结
学习目标
学习python数据分析与展示
所采用到的课程链接是北理-Python数据分析与展示-Numpy、Matplotlib、Pandas
学习内容
pandas的理解
两种数据类型:Series
和DataFrame
基于上述数据类型的各类操作
基本操作,运算操作,特征类操作(提取数据特征),关联类操作(在数据当中挖掘相关关系)
Numpy和Pandas的对比
Pandas是 Numpy 的拓展
Numpy | Pandas |
---|---|
基础数据类型 | 拓展数据类型 |
关注数据的结构表达 | 关注数据的应用表达 |
维度:数据之间的关系 | 数据与索引之间的关系 |
Series类型
Series类型的组成方法是一组数据和其对应的索引,Series类型会自动生成索引
import pandas as pd
a=pd.Series([3,4,6,7],index=['a','e','c','d'])
#以字典类型进行创建
a
使用index
可以进行自动索引
#返回值如下
a 3
e 4
c 6
d 7
dtype: int64
Series:兼容性强,可以创建的方法有很多,可以创建类型如下
- Python列表,index与列表元素个数一致
- 标量值,index表达Series类型的尺寸
- Python字典,键值对中的“键”是索引,index从字典中进行选择操作
这里需要注意到的是当Series前面的数据值只有一个,但是要表示多个数据的时候,就需要对数据进行一个索引的操作,也就是index不能省略
- ndarray,索引和数据都可以通过ndarray类型创建
- 其他函数,range()函数等
Series的基本操作如下:
获取操作 | 返回值 |
---|---|
. i n d e x .index .index | 获得索引 获得索引 获得索引 |
. v a l u e .value .value | 获得索引 获得索引 获得索引 |
Series类型的操作类似ndarray类型:
- 索引方法相同,采用
[ ]
- NumPy中运算和操作可用于Series类型
- 可以根据自定义索引的列表进行切片
- 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片
Series需要进行索引和数据的对齐,可以理解为C语言中的指针加数据的一个操作
对齐操作
这里我们可以看到不同索引的数据在进行加法运算之后,二者都相互拥有的才会返回具体值,反之则返回NaN
以下是设置名称以及数据进行修改
这里我们可以总结得出Series
是带标签的数组,也就是一个索引对应一个数值
DataFrame类型
DataFrame是什么类型
DataFrame是一个表格型的数据类型,每列值类型可以不同
DataFrame既有行索引、也有列索引
DataFrame常用于表达二维数据,但可以表达多维数据
如下是具体操作实例
下面就是由列表类型的字典进行创建,可以看作和C语言当中的结构体进行类比和理解
DataFrame是二维带标签的数组
DataFrame的基本操作类似Series,可以根据行列进行索引
pandas数据类型的操作
改变Series和DataFrame对象的操作办法
可以进行增加或者重排的操作
删除:drop
方法
数据库的操作
重新索引
.reindex()
能够改变或者重排索引
index,columns | 自定义新的索引 |
fill_value | 重新索引,填充缺失值 |
method | 选择填充办法,ffill当前值向前填充,bfill向后填充 |
limit | 最大填充量 |
copy | 默认为True,生成新对象,False,表示新旧相等不重复 |
Series和DataFrame索引类型都是Index类型
Index对象都是属于不可修改类型
索引类型的操作
方法 | 说明 |
---|---|
.append(idx) | 连接另一个Index对象,产生新的Index对象 |
.diff(idx) | 计算差集,产生新的Index对象 |
.intersection(idx) | 计算交集 |
.union(idx) | 计算并集 |
.delete(loc) | 删除loc位置处的元素 |
.insert(loc,e) | 在loc位置增加一个元素e |
删除指定索引的对象
.drop()
能够删除Series和DataFrame指定行和列索引
算术运算法则
算术运算根据行列索引,补齐后运算,运算会自动产生浮点数
补齐时缺项填充NaN
二维和一维、一维和零维间为广播运算(广播机制)
采用+ ‐ * /
符号进行的二元运算产生新的对象
加减乘除的另一种方法,可以增加参数
方法 | 说明 |
---|---|
.add(d, **argws) | 类型间加法运算,可选参数 |
.sub(d, **argws) | 类型间减法运算,可选参数 |
.mul(d, **argws) | 类型间乘法运算,可选参数 |
.div(d, **argws) | 类型间除法运算,可选参数 |
广播运算,低维向高维进行运算
不同维度之间的运算叫做广播运算,一维Series默认在轴1参与运算
使用运算方法可以令一维Series参与轴0运算
这与R语言当中当运算位置不同的时候的计算方法是有一点不同的.
比较运算
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用> < >= <= == !=
等符号进行的二元运算产生布尔对象
不同维度,广播运算,默认在1轴
总结
主要要先搞清楚Series和dataframe自己之间的不同
S
e
r
i
e
s
=
索引
+
一维数据
Series=索引+一维数据
Series=索引+一维数据
D
a
t
a
F
r
a
m
e
=
行列索引
+
二维数据
DataFrame=行列索引+二维数据
DataFrame=行列索引+二维数据
理解数据类型与索引的关系,操作索引即操作数据
- 重新索引
- 数据删除
- 算术运算
- 比较运算
要像对待单一数据一样对待这两种对象
最后
以上就是欣慰小笼包为你收集整理的python数据分析之pandas入门1学习目标学习内容总结的全部内容,希望文章能够帮你解决python数据分析之pandas入门1学习目标学习内容总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复