Press "Enter" to skip to content

Pandas数据统计函数

pandas 库提供了很多的函数,而且这些函数的应用在数据分析时是非常有用的,数据统计函数是 pandas 数据结构中最常用的数据操作之一。

  1. 汇总类统计
  2. 唯一去重和按值计算
  3. 相关系数和协方差

首先读取一份数据

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文
 
df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
df.set_index('交易日期',inplace=True) #设置索引为日期,方便按日期筛选
df.index
 
print(df.head(10))

1、汇总类统计

#一下子提取所有数字列统计结果
result=df.describe()
print(result)

当然也可以查看单个列的数据,例如我要查看‘最高价’这一列的最大值、最小值、平均值

#一下子提取所有数字列统计结果
df.describe()

result_max=df['最高价'].max()
print(f'最高价这一列的最大值为:{result_max}')

result_min=df['最高价'].min()
print(f'最高价这一列的最小值为:{result_min}')

result_mean=df['最高价'].mean()
print(f'最高价这一列的平均值为:{result_mean}')

pandas 常用的统计函数见表

函数功能
df.count()求非 NA 值的数量
df.max()求最大值
df.min()求最小值
df.sum(axis=0)按各列求和
df.mean()按各列求平均值
df.median()求中位数
df.describe()按各列返回基本统计量和分位数
df.var()求方差
df.std()求标准差
df.mad()根据平均值计算平均绝对利差
df.cumsum()求累计和

2、唯一去重和按值计算, (唯一去重) :一般不用于数列值,而是分类列,例如我有一列数据为等级,分为:初级、中级、高级…..,使用这个函数:

df['等级'].unique()

通过这个函数我们就知道这一列的全部取值有哪些

按值计算

df['等级'].value_counts()

这个函数可以统计出该列有多少个取值的数量

3、相关系数和协方差

用途,例如:

两支股票,是不是同涨同跌?程度多大?正相关还是负相关?
产品销量的波动,跟那些因素正相关,负相关,程度有多大?

来自知乎,对于两个变量X,Y

协方差:衡量同向反向程度,如果协方差为正,说明X,Y同向变化。协方差越大说明同向程度越高;如果协方差为负,说明X,Y反向运动,协方差越小说明反向程度越高。

相关系数:衡量相似程度,当他们的相关系数为1时,说明两个变量变化是的正向相似度最大,当相关系数为-1时,说明两个变量的反向相似度最大

#协方差矩阵
df.cov()

#相关系数矩阵
df.corr()

例如我想知道最高价和成交量的相关系数

result=df['最高价'].corr(df['成交量'])
print(result)

得到的结果是:-0.08905755229271135

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注