Bootstrap

【python】 pandas对数据的统计运算

常见的统计运算包括求和、平均值、极值,分别用到sum()、mean()、max()、min()

除此以外,还可以获取数值的分布情况、相关系数、创建透视表等

1、求和

pandas模块的sum()函数可以对每一列数据进行求和,如果值是字符串类型,则是拼接起来:

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=dt.sum()                  #每一列的和
b=dt['利润(元)'].sum()       #特定列的和
print(a)
print('----------------------')
print(b)

 2、求平均值

用mean()求各列的平均值,但是如果列的类型不是数字类型,该列的运算会报错

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=dt.mean()                  #每一列的均值
b=dt['利润(元)'].mean()       #特定列的均值
print(a)
print('----------------------')
print(b)


3、求极值

max()、min()求极大值、极小值

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=dt.max()                  #每一列的最大值
b=dt['利润(元)'].max()       #特定列的最大值
print(a)
print('----------------------')
print(b)

 4、数值的分布情况

使用describe()可以案列获取数据表中所有数值的分布情况,包括个数、均值、极值、方差、四分位等:

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=dt.describe()                  #每一列的汇总数据
b=dt['数量(个)'].describe()                  #特定列的汇总数据
print(a)
print('----------------------')
print(b)

5、相关系数

相关系数通常是用来衡量两个或多个元素之间的相关程度,在pandas中可以用corr()计算相关系数

使用的数据如下:

使用corr()计算相关系数:

import pandas as pd

dt=pd.read_excel('相关性分析.xlsx',sheet_name=0)
a=dt.corr()                                 #所有的相关系数
b=dt.corr()['年销售额(万元)']                  #特定列的相关系数
print(a)
print('----------------------')
print(b)

 6、分组汇总数据

pandas中的groupby()可以对数据进行分组,分组后返回的是一个DataFrameGroupBy对象,不能直观展示,需要使用统计运算函数展示出来

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=dt.groupby('产品').sum()                                 #所有列的分组求和
print(a)
print('----------------------')
b=dt.groupby('产品')['利润(元)'].sum()                       #特定列的分组求和
print(b)

7、创建透视表

数据透视表可以对数据表进行快速的分组计算,pivot_table()函数可以实现数据透视表

import pandas as pd

dt=pd.read_excel('产品统计表.xlsx',sheet_name=0)
a=pd.pivot_table(dt,values=['利润(元)','成本(元)'],index='产品',aggfunc='sum')
#函数的参数分别是:求那一列的透视值('利润(元)','成本(元)'),根据那一列分组(产品),统计的方式(sum)
print(a)
print('----------------------')

 

;