4.4 pandas的统计功能
Pandas拥有一组常用的数学和统计方法,可以对 Series 与 DataFrame 进行快速的描述性统计,如求和、平均数、最大值、方差等,是最基础也是最实用的统计方法。一般来说,这些方法采用轴参数axis,就像NumPy数组的统计方法,但轴可以通过名称或整数来指定,对于DataFrame而言:
- axis=0,默认,表示按行index统计
- axis=1,表示按列columns统计
按哪个axis,就是这个axis要动起来(类似被for遍历),其他的axis保持不动
Pandas的axis参数:
1、axis = 0
- 如果是单行操作,就是指某一行
- 如果是聚合操作,指的就是跨行

2、axis = 1
- 如果是单列操作,就是指某一列
- 如果是聚合操作,指的就是跨列

In [1]:
import numpy as np import pandas as pd
In [2]:
#读取学生信息
st = pd.read_excel('data/stinfo.xlsx',index_col=0)
st.head(3)
Out[2]:
| 姓名 | 学号 | 出生日期 | 年龄 | 籍贯 | 性别 | 身高 | 体重 | linux | python | 网络 | 数据库 | IT基础 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 甲一 | 50 | 2001年1月1日 | 19 | 福田 | 男 | 172 | 69 | 92 | 90 | 82 | NaN | 80 |
| 1 | 乙二 | 51 | 1999年2月2日 | 21 | 龙岗 | 男 | 180 | 77 | 95 | 88 | 85 | NaN | 80 |
| 2 | 丙三 | 52 | 2002年3月3日 | 18 | 南山 | 女 | 160 | 49 | 85 | 91 | 93 | NaN | 80 |
In [3]:
st.ndim
Out[3]:
2
In [4]:
st.shape
Out[4]:
(11, 13)
In [5]:
st.size
Out[5]:
143
4.4.1 数值型特征的统计
数值型数据的描述性统计主要包括了计算数值型数据的完整情况、最小值、均值、中位数、最大值、四分位数、极差、标准差、方差、协方差和变异系数等。在NumPy库中一些常用的统计学函数如下表所示。

pandas库基于NumPy,自然也可以用这些函数对数据框进行描述性统计。
In [6]:
np.max(st['linux'])#统计linux列的最大值
Out[6]:
98
In [7]:
np.median(st['linux'])#统计linux列的中位数
Out[7]:
85.0
In [8]:
int(np.mean(st['身高']))#统计身高列的均值
Out[8]:
169
In [9]:
np.sort(st['体重'])#体重列排序
Out[9]:
array([48, 49, 50, 53, 56, 63, 69, 70, 75, 77, 82], dtype=int64)
- Pandas统计函数
Pandas内置很多数学计算方法,如计算均值 ,st['linux技术成绩'].mean()。

In [10]:
st['linux'].mean().astype(int)
Out[10]:
83
In [11]:
st['linux'].max()#统计linux列的最大值
Out[11]:
98
In [12]:
st['linux'].median()#统计linux列的中位数
Out[12]:
85.0
pandas提供的方法describe()能够一次性得出dataframe所有数值型特征的非空值数目、均值、四分位数、标准差等。返回一个有多个行的所有数值列的统计表,每个行是一个统计指标,对我们初步了解数据还是很有作用。 
In [13]:
st.describe()
Out[13]:
| 学号 | 年龄 | 身高 | 体重 | linux | python | 网络 | 数据库 | IT基础 | |
|---|---|---|---|---|---|---|---|---|---|
| count | 11.000000 | 11.000000 | 11.000000 | 11.000000 | 11.000000 | 11.000000 | 11.000000 | 0.0 | 11.0 |
| mean | 55.000000 | 19.454545 | 169.454545 | 62.909091 | 83.636364 | 82.181818 | 77.727273 | NaN | 80.0 |
| std | 3.316625 | 0.934199 | 8.618163</ |

本文详细介绍了Pandas的统计功能,包括数值型特征的统计、类别型特征的描述性统计和如何剔除全为空值或所有元素取值相同的列。通过`dataframe.info()`、`describe()`等方法展示了统计分析的基本操作,以及`value_counts`用于频数统计,同时提供了一个函数用于删除异常数据列。
最低0.47元/天 解锁文章
1122

被折叠的 条评论
为什么被折叠?



