0%

pandas 笔记

1
2
3
4
5
6
import pandas as pd
catering_sale = '../data/chapter3/demo/data/catering_sale.xls' # 餐饮数据
data = pd.read_excel(catering_sale, index_col = '日期') # 读取数据,指定“日期”列为索引列

print(data.describe()) # describe() 函数 查看数据的基本情况
print(len(data)) # count 是非空值数, len(data) 数据记录数: 201 条,因此缺失值数为1

读取数据

  • 读取Excel

基本统计量

1
2
3
4
5
statistics = data.describe()

statistics.loc['range'] = statistics.loc['max'] - statistics.loc['min'] # 极差
statistics.loc['var'] = statistics.loc['std'] / statistics.loc['mean'] # 变异系数
statistics.loc['dis'] = statistics.loc['75%'] - statistics.loc['25%'] # 四分位数间距
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
catering_sale = '../data/chapter3/demo/data/catering_sale.xls'  # 餐饮数据
data = pd.read_excel(catering_sale, index_col = '日期') # 读取数据,指定“日期”列为索引列

print(data.describe()) # describe() 函数 查看数据的基本情况
print(len(data)) # count 是非空值数, len(data) 数据记录数: 201 条,因此缺失值数为1

销量
count 200.000000
mean 2755.214700
std 751.029772
min 22.000000
25% 2451.975000
50% 2655.850000
75% 3026.125000
max 9106.440000
201

mean 平均值 std 标准差

1/4 25%

50% 中位数

25% 上四分位点

75% 下四分位点

画图

箱型图

1
2
plt.figure()
p = data.boxplot(return_type = 'dict') # 画箱型图,直接使用 DataFrame 的方法

其他

设置x轴刻度间隔

1
2
3
x_major_locator = plt.MultipleLocator(7)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)

统计特征函数

  • 统计特征函数 用于 计算数据的 均值、方差、标准差、分位数、相关系数、协方差等,这些统计特征能反应 数据的整体趋势。
    1. sum() 计算数据样本的 总和(按列计算)

    使用:D.sum()
    样本 D 可为 DataFrame 或 Series

    1. mean() 算术平均数

    使用:D.mean()
    样本 D 可为 DataFrame 或 Series

    1. var() 方差

    使用:D.var()
    样本 D 可为 DataFrame 或 Series

    1. std() 标准差

    使用:D.std()
    样本 D 可为 DataFrame 或 Series

    1. corr() Spearman(Pearson) 相关系数矩阵

    使用:D.corr(method = ‘pearson’)
    样本 D 可为 DataFrame,返回相关系数矩阵,method 为计算方法,支持 pearson(默认)、kendall、spearman

    S1.corr(S2, method = ‘pearson’) S1、S2 均为 Series,这种格式指定计算两个Series间的相关系数

    1. cov() 协方差矩阵

    使用:D.cov()
    样本D 可为 DataFrame
    S1.cov(S2, method = ‘pearson’) S1、S2 均为 Series,这种格式指定计算两个Series间的协方差

    1. skew() 样本值的偏度(三阶矩)
    1. kurt() 样本值的峰度(四阶矩)
    1. describe() 给出样本的基本描述(基本统计量加均值、标准差等)

统计特征函数 - 实例

计算 6*5 随机矩阵的协方差矩阵
1
2
3
4
5
6
7
import pandas as pd
import numpy as np

np.random.seed(0)
D = pd.dataFrame(np.random.randn(6, 5)) # 产生 6*5 随机矩阵
print(D.cov()) # 计算协方差矩阵
print(D[0].cov(D[1])) # 计算第一列和第二列的协方差

统计特征函数 - 累积计算(cum)

  • cumsum() 依次给出前 1、2、…、n 个数的和

  • cumprod() 依次给出前 1、2、…、n 个数的积

  • cummax() 依次给出前 1、2、…、n 个数的最大值

  • cummin() 依次给出前 1、2、…、n 个数的最小值

统计特征函数 - 滚动计算(pd.rolling)

  • rolling_sum() 总和(按列计算)

  • rolling_mean() 算术平均数

  • rolling_var() 方差

  • rolling_std() 标准差

  • rolling_corr() Spearman(Pearson)相关系数矩阵

  • rolling_cov() 协方差矩阵

  • rolling_skew() 偏度(三阶矩)

  • rolling_kurt() 峰度(四阶矩)

PS

  • cum 系列函数 是 DataFrame/Series 对象方法,而 rolling_ 系列是 pandas 函数,不是 DataFrame/Series 对象方法,使用格式:D.rolling(k).mean(),意思是 每 k 列 计算一次均值,滚动计算