pandas入门:汇总和计算描述统计
from pandas import DataFrame, Series
import numpy as np
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'])
print(df)
'''
one two
a 1.40 NaN
b 7.10 -4.5
c NaN NaN
d 0.75 -1.3
'''
# 调用DataFrame的sum方法会返回一个含有列小计的Series
print(df.sum())
'''
one 9.25
two -5.80
dtype: float64
'''
# 传入axis=1将会进行求和运算
print(df.sum(axis=1))
'''
a 1.40
b 2.60
c 0.00
d -0.55
dtype: float64
'''
# NA值会自动被排除,除非整个切换(行或列)都是NA,skipna选项可禁用该功能
print(df.mean(axis=1,skipna=True)) # 默认skipna=True
'''
a 1.400
b 1.300
c NaN
d -0.275
dtype: float64
'''
print(df.mean(axis=1,skipna=False))
'''
a NaN
b 1.300
c NaN
d -0.275
dtype: float64
'''
print(df.idxmax()) # 最大值索引
'''
one b
two d
dtype: object
'''
print(df.idxmin()) # 最小值索引
'''
one d
two b
dtype: object
'''
print(df.cumsum()) # 累计
'''
one two
a 1.40 NaN
b 8.50 -4.5
c NaN NaN
d 9.25 -5.8
'''
print(df.describe()) # 一次性产生多个汇总统计
'''
one two
count 3.000000 2.000000
mean 3.083333 -2.900000
std 3.493685 2.262742
min 0.750000 -4.500000
25% 1.075000 -3.700000
50% 1.400000 -2.900000
75% 4.250000 -2.100000
max 7.100000 -1.300000
'''
# 对于非数值型数据,describe会产生另外一种统计
obj = Series(['a','a','b','c']*4)
print(obj.describe())
'''
count 16
unique 3
top a
freq 8
dtype: object
'''
描述和汇总统计
- count:非NA值的数量
- describe:针对Series和DataFrame列计算汇总统计
- min、max:计算最小值和最大值
- argmin、argmax:计算能够获取到的最小值和最大值索引位置(整数)
- idxmin、idxmax:计算能够获取到的最小值和最大值索引值
- quantile:计算样本的分位数(0-1)
- sum:值的总和
- mean:值的平均数
- median:值的算数中位数(59%分位数)
- mad:根据平均值计算平均对离差
- var:样本值的方差
- std:样本值的标准差
- skew:样本值的偏度(三阶矩)
- kurt:样本值的峰度(四阶矩)
- cumsum:样本值的累计和
- cummin、cummax:样本值的累计最大值和累计最小值
- cumprod:样本值的累计积
- diff:计算一阶差分(对时间序列很有用)
- pct_change:计算百分数变化
本文来自博客园,作者:OTAKU_nicole,转载请注明原文链接:https://www.cnblogs.com/nicole-zhang/p/12955100.html