【数据处理】Pandas库:数组运算
theme: cyanosis highlight: a11y-dark
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情
注意:本案例使用 Jupyter Notebook 进行案例演示
1. Pandas数组运算
1.1 统计运算
在数据处理中,可以使用以下函数查看数据的基本情况,获取统计学基本数据信息,比如平均值,中位数等,该方法只会针对数据类型的数进行统计计算,对于字符串形式的列无效。
data.describe()
- 返回值:
- count:样本个数
- mean:平均值
- std:标准差
- min:最小值
- max:最大值
- 25%:25%分位数
- 50%:中位数 — 75%:75%分位数
导入相关库并读取数据:读取数据以后,使用上述函数进行统计计算
import pandas as pd
people = pd.read_csv("data/data140190/人口.csv")
people.describe()
运行结果如下图所示:将统计基本信息进行了计算。
.max()
函数
- 可以求数组最大值
- 默认按照每列进行计算:axis=0
获取数据的最大值:
people.max() # 默认按列求最大值 axis=0
运行结果如下图所示:
.idxmax()
函数:
- 可以获取最大值所在的位置
- 返回所在位置的索引
```python
获取最大值所在位置
people.idxmax() ``` 运行结果如下图所示:
1.2 累计统计函数
.cumsum()
函数
- 作用主要就是计算轴向的累加和。
- axis=0:按行累加
- axis=1:按列累加
- 可以通俗理解成:返回数组的第n个数就是原数组前n个数的累加
对表中年份那一列进行累加,并将返回的数组绘制成折线图
people["年份"].cumsum()
people["年份"].cumsum().plot()
运行结果如下图所示:注意此步需要导入matplotlib模块,import matplotlib.pyplot as plt
1.3 自定义运算
apply(func, axis=0)
- func:自定义函数
- axis=0:默认是列,axis=1为行运算
案例:定义每一列最大值-最小值操作
案例中还用到了lambda表达式,在此简单普及一下:
- 在python中使用lambda表达式表示匿名函数(即没有函数名的函数)
- lambda在内部只能包含一行代码
- :后面就是函数体
- <函数对象名> = lambda <形式参数列表>:<表达式>
people.apply(lambda x: x.max()-x.min())
运行结果如下图所示:
1.4 逻辑运算
逻辑运算符号 1. $<$ 2. $>$ 3. | 4. &
1.4.1 逻辑运算符
比如,我想筛选出年份>2010的数据,就用到了逻辑运算符:
people[people["年份"] >2010]
运行结果如下图所示:
1.4.2 逻辑运算函数
query(expr)
- expr:查询字符串 通过query使得刚才的过程更加方便简单
比如,我们还想判断年份里是否有2018和2019,具体代码如下所示:
people["年份"].isin([2018, 2019])
运行结果如下图所示:True表示是你想要查询的内容,False表示不是你想要查询的内容
- 【深度学习】TensorFlow线性回归案例演示(3)
- 【机器学习】LSTM神经网络实现中国人口预测(2)
- 【数据处理】北京市租房案例实战(5)
- 【数据处理】Pandas库:画图与文件读取
- 【数据处理】Pandas库:数组运算
- 【数据处理】北京市租房案例实战(3)
- 【PaddleDetection深度学习】中国交通标志图像分类任务
- 【数据处理】北京市租房案例实战(4)
- 【数据处理】北京市租房案例实战(2)
- 【数据处理】Seaborn-NBA数据分析案例(4)
- 【深度学习】工业安全生产环境违规使用手机的识别
- 【数据处理】北京市租房案例实战(1)
- 【数据处理】Seaborn-NBA数据分析案例(2)
- 【Numpy】数据处理-Numpy库基本介绍
- 【Numpy数据处理】ndarray介绍
- 【深度学习】医学影像目标检测-疟原虫识别问题
- Linux操作系统-基本使用(1)
- 智能算法-粒子群算法(3)
- 智能算法-粒子群算法(2)
- 智能算法-禁忌搜索算法(2)