Pandas之五数据操作
前面我们聊过了对象创建、数据查看、数据选择的相关操作,现在就要进入到数据分析阶段了。使用pandas主要原因就是其提供的数据分析功能,能实现大部分的数据统计分析工作。对数据进行操作主要有四种类型:
- 数据统计:常用的就是计数、平均值、最大值、最小值、标准差、分位数等等
- 函数应用:依次对dataframe每行执行某个函数
- 数值计数:统计每个值出现的次数,在制作直方图时可能会用到
- 字符串函数:pandas支持字符串,自然地支持对字符串进行各种操作
下面我们以图中的数据来演示上述各项功能。
1. 数据统计
使用pandas经常会要用到数据统计功能,常用的有计数count
、平均值mean
、最大值max
、最小值min
、标准差std
、分位数quantile
等,其使用方法基本一致,此处以均值和标准差为例进行演示。
注:默认情况在统计时会忽略缺失值np.nan
。
1.1 平均值(mean)
计算平均值时可以按行计算或者按列计算,通过设置方法参数axis控制。
- 按列计算(默认情况下就是按列计算)
- 按行计算
1.2 标准差(std)
和计算平均值时一样,可以按行计算或者按列计算,通过设置方法参数axis控制。
- 按列计算(默认情况下按列计算)
- 按行计算
2. 函数应用
可以对dataframe应用某个函数,也可以对指定的行或列应用,以累计和函数np.cumsum
为例。
2.1 全局应用
对整个df按列逐行计算累加和值,axis默认为0
2.2 对某行应用
从df中截取某行,设置axis=1计算各列的累加和值,
2.3 对某列应用
从df中截取某列,计算各行的累加和值
3. 数值计数
有时需要统计某些值出现的次数来绘制直方图,可以使用value_count
实现。value_counts
有点类似于sql中的group by ... count
。默认情况下做统计会忽略np.nan
值,可以使用dropna=False
统计np.nan
值。
3.1 对所有列统计
下图表示每行数据都不相同,只出现1次。
3.2 对某列做统计
同时统计E列中的数字和缺失值。
4. 字符串函数
pandas为series提供了针对字符串的操作方法.str
,其包括诸如大小写转换lower,upper
、字符串替换replace
等各种常用的字符串操作函数。以replace为例: