pandas汇总和计算描述统计:统计函数
pandas对象拥有一组常用的数学和统计方法。它们大部分都属于约简和汇总统计,用于从Series中提取的个值(如sum或mean)或从DataFrame的行或列中提取一个Series。
SUM方法:DataFrame对象的sum方法,返回一个含有列小计的Series。
统计方法的常用选项
axis=None,skipna = True,level=None
跟对应的NumPy数组方法相比,它们都是基于没有缺失数据的假设而构建的。
数学运算和约简(比如对某个轴求和)可以根据不同的元数据(轴编号)执行。灵活处理缺失数据。
描述和汇总统计
方法 说明
count 非NA值的数量
describe 针对Series或各DataFrame列计算汇总统计
min,max 计算最小值和最大值
argmin,argmax 计算能够获取到最小值和最大值的索引位置(整数)
idxmin,idxmax 计算能够获取到最小值和最大值的索引值
quantile 计算样本的分位数(0到 1)
sum 值的总和
mean 值的平均数, a.mean() 默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值
media 值的算术中位数(50%分位数)
mad 根据平均值计算平均绝对离差
var 样本值的方差
std 样本值的标准差
skew 样本值的偏度(三阶矩)
kurt 样本值的峰度(四阶矩)
cumsum 样本值的累计和
cummin,cummax 样本值的累计最大值和累计最小
cumprod 样本值的累计积
diff 计算一阶差分(对时间序列很有用)
pct_change 计算百分数变化
>>>df = DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75,-1.3]],index=['a','b','c','d'],columns=[ 'one', 'two'])
>>>df
one two
a 1.40 NaN
b 7.10 -4.5
c NaN NaN
d 0.75 -1.3
>>> df.sum()
one 9.25
two -5.80
dtype: float64
>>> df.sum(axis=1)
a 1.40
b 2.60
c 0.00
d -0.55
dtype: float64
NA值会自动被踢除(新版本会自动转换为0)。可以通过skipna选项禁用此功能。
>>> df.sum(axis=1,skipna = False)
a NaN
b 2.60
c NaN
d -0.55
dtype: float64
>>> df.sum(skipna =False)
one NaN
two NaN
dtype: float64
约简方法
这些方法并不会改变dataframe本身,而是返回一个改变的值?
约简方法的选项
选项 说明
axis 约简的轴。DataFrame的行用0,列用1
skipna 排除缺失值,默认值为True
level 如果轴是层次化索引的(即Multiindex),则根据level分组约简