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:计算百分数变化
posted @ 2020-10-14 17:10  OTAKU_nicole  阅读(96)  评论(0编辑  收藏  举报