数据分析工具pandas
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构和 数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一
(1) 一个强大的分析和操作大型结构化数据集所需的工具集
(2) 基础是NumPy,提供了高性能矩阵的运算
(3) 提供了大量能够快速便捷地处理数据的函数和方法
(4)应用于数据挖掘,数据分析
(5)提供数据清洗功能
6. Pandas的统计计算和描述
6.1 常用的统计计算
- sum
- mean
- max
- min
- …
参数说明 : axis=0按列统计,axis=1按行统计;skipna排除缺失值,默认为True
import numpy as np
import pandas as pd
df = pd.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'])
#结果为:
# one two
#a 1.40 NaN
#b 7.10 -4.5
#c NaN NaN
#d 0.75 -1.3
print(df)
#返回各列的和组成的Series
#结果为:
#one 9.25
#two -5.80
df.sum()
#按行求和且不排除缺失值
#结果为:
#a NaN
#b 2.60
#c NaN
#d -0.55
df.sum(axis=1,skipna=False)
#返回每一列最大值 可通过axis属性设置改为求每一行的最大值
#结果为:
#one b
#two d
df.idxmax()
#样本值的累计和
#结果为:
# one two
#a 1.40 NaN
#b 8.50 -4.5
#c NaN NaN
#d 9.25 -5.8
df.cumsum()
#针对Series或各DataFrame列计算汇总统计
#结果为:
#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
df.describe()
s1 = pd.Series(['a','a','b','c']*4)
print(s1)
#结果为:
#count 16
#unique 3
#top a
#freq 8
s1.describe()
6.2 常用的统计描述方法
方法 | 说明 |
---|---|
count | 非NA值的数量 |
describe | 针对Series或各DataFrame列计算汇总统计 |
min、max | 计算最大值和最小值 |
argmin、argmax | 计算能够获取到最小值和最大值的索引位置(整数) |
idxmin、idxmax | 计算能够获取到最小值和最大值的索引值 |
quantile | 计算样本的分位数(0到1) |
sum | 值的总和 |
mean | 值的平均数 |
median | 值的算术中位数(50%分位数) |
mad | 根据平均值计算平均绝对离差 |
var | 样本值的方差 |
std | 样本值的标准差 |
skew | 样本值的偏度(三阶矩) |
kurt | 样本值的偏度(四阶矩) |
cumsum | 样本值的累计和 |
cummin、cummax | 样本值的累计最大值和累积最小值 |
cumprod | 样本值的累计积 |
diff | 计算一阶差分(对时间序列很有用) |
pct_change | 计算百分数变化 |