1 Pandas 统计类函数
1.汇总类统计
2.唯一去重和按值计数
3.相关系数和协方差
1.1 构造数据
我们提前构造测试数据,包括学生各科成绩:
import pandas as pd
data=pd.DataFrame({'name':['Abbe','Tony','Henry','Perry','Billy','Tracy'],
'english':[99,89,68,73,82,78],
'math':[89,81,78,69,81,92],
'science':[81,83,87,91,86,92]
})
data
1.2 汇总类统计
1.2.1 统计描述describe()
返回 DataFrame 中数值列数据的常见统计数据,返回一个 DataFrame 的数据表。
具体如下:
count(计数)、mean(平均值)、std(标准差)、min(最小值)、25%(排在25%处的值)、50%(排在50%处的值)、75%(排在75%处的值)、max(最大值) 等。
data.describe()
english |
math |
science |
|
count |
6.000000 |
6.000000 |
6.000000 |
mean |
81.500000 |
81.666667 |
86.666667 |
std |
11.220517 |
8.189424 |
4.320494 |
min |
68.000000 |
69.000000 |
81.000000 |
25% |
74.250000 |
78.750000 |
83.750000 |
50% |
80.000000 |
81.000000 |
86.500000 |
75% |
87.250000 |
87.000000 |
90.000000 |
max |
99.000000 |
92.000000 |
92.000000 |
也可以只对某一列进行统计描述,返回一个 Series 类型的数据。
data['english'].describe()
count 6.000000
mean 81.500000
std 11.220517
min 68.000000
25% 74.250000
50% 80.000000
75% 87.250000
max 99.000000
Name: english, dtype: float64
1.2.2 计数count()
对每列或每行的非空单元格进行计数。
参数列表:
DataFrame.count(axis=0, level=None, numeric_only=False)
axis : {0 or 'index', 1 or 'columns'},默认为 0。
If 0 or 'index':为每列生成计数。
If 1 or 'columns':为每行生成计数。
返回 DataFrame 中 所有行/列 的计数,返回一个 Series 类型的数据。
列计数:
data.count() # 默认axis=0,为列生成计数
name 6
english 6
math 6
science 6
dtype: int64
行计数:
data.count(axis=1) # axis=1,为行生成计数
0 4
1 4
2 4
3 4
4 4
5 4
dtype: int64
1.2.3 求和sum()
返回请求轴的值之和。
参数列表:
data.sum(axis=0, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs,)
axis : {index (0), columns (1)}
axis也是默认为0(列求和),axis=1时表示行求和。