Python For Data Analysis-五章第三节

《Python For Data Analysis》的第五章的第三节主要介绍的是一些统计学相关的知识和函数。

10.1 sum函数求和

dataframe的sum函数可以按行或者按列进行求和,对于行中或列中的NaN自动被处理掉。

import pandas as pd
import numpy as np
val = np.array([[1,-1,2,1],
                [2,3,np.nan,1],
                [-1,-1,2,np.nan],
                [0,np.nan,-1,2],
                [-1,0,0,2],
                [np.nan,-1,-2,3]])
ind = list("nimljk")
col = list("dbac")
print "-" * 40
d = pd.DataFrame(val, index = ind, columns = col)
print d, "# d"
print "-" * 40
print d.sum(axis = "columns"), '# rows'
print "-" * 40
print d.sum(axis = "index"), '# cols'
print "-" * 40

执行结果:

----------------------------------------
     d    b    a    c
n  1.0 -1.0  2.0  1.0
i  2.0  3.0  NaN  1.0
m -1.0 -1.0  2.0  NaN
l  0.0  NaN -1.0  2.0
j -1.0  0.0  0.0  2.0
k  NaN -1.0 -2.0  3.0 # d
----------------------------------------
n    3.0
i    6.0
m    0.0
l    1.0
j    1.0
k    0.0
dtype: float64 # rows
----------------------------------------
d    1.0
b    0.0
a    1.0
c    9.0
dtype: float64 # cols
----------------------------------------

语句d.sum(axis = "index")里的axis = "index"意思是统计每列。而axis = "columns"则是对每行。

10.2 其他统计学函数

其他常用的pandas提供的统计学相关的函数有很多,例如:cummax、median、mean、prod等。这里就不一一展示了,可以访问pandas的官方网站提供的pandas的统计函数说明或者 5.3节次里还提及了很多的统计学相关的函数,可以参考本站pandas的Series结构的统计学函数页和pandas的DataFrame结构的统计学函数页面。

至此完成第五章的学习。