利用python进行数据分析
第五章:pandas入门
第三节,汇总和计算描述统计
DataFrame当中的一些数学和统计方法
>>> 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
调用DataFrame的sum方法将会返回一个含有列小计的Series,得到的结果是每一列的数字加和,NA值会自动被排除
>>> df.sum()
one 9.25
#columns 1
two -5.80
#columns 2
dtype: float64
如果加入axis=1这个参数将会对行进行求和运算,NA值会自动被排除
>>> df.sum(axis=1)
a 1.40
b 2.60
c NaN
d -0.55
dtype: float64
NA值会自动被排除,除非整个切片(这里指行或者列)都是NA,通过skipna选项可以禁用该功能
>>> df.mean(axis=1, skipna=False)
a NaN
b 1.300
c NaN
d -0.275
dtype: float64
计算结果是如果进行的是行加和计算,如果该行有NaN值则结果用NaN值的最终结果表示,如果该列有NaN值则结果用NaN值的最终结果表示
表5-9:约简方法的选项
| 选项 | 说明 |
| axis | 约简的轴。DataFrame的行用0,列用1 |
| skipna | 排除缺失值,默认值为True |
| level | 如果轴是层次化索引的(即MultiIndex),则根据level分组约简 |
idxmin和idxmax表示间接统计(得到的是最小值或最大值的索引)
>>> df
····one two
a 1.40 NaN
b 7.10 -4.5
c NaN NaN
d 0.75 -1.3
>>> df.idxmax()
#输出最大值的索引
one b
two d
dtype: object
>>> df.cumsum()
#输出每一列的按照行进行累加和结果
····one two
a 1.40 NaN<