pandas求平均数和中位数的方法实例
准备
pandas是一个强大的Python数据分析的工具包。
pandas是基于NumPy构建的。
pandas的主要功能
- 具备对其功能的数据结构DataFrame、Series
- 集成时间序列功能
- 提供丰富的数学运算和操作
- 灵活处理缺失数据
本文用到的表格内容如下:
先来看一下原始情形:
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df)
result:
分类 货品 实体店销售量 线上销售量 成本 售价
0 水果 苹果 34 234 12 45
1 家电 电视机 56 784 34 156
2 家电 冰箱 78 345 24 785
3 书籍 python从入门到放弃 25 34 13 89
4 水果 葡萄 789 56 7 398
1.求平均数
1.1对全表进行操作
1.1.1求取每列的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.mean())
result:
实体店销售量 196.4
线上销售量 290.6
成本 18.0
售价 294.6
dtype: float64
1.1.2 求取每行的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.mean(axis=1))
result:
0 81.25
1 257.50
2 308.00
3 40.25
4 312.50
dtype: float64
先看运行结果,我们可以看到,每一行求平均数的时候直接忽略文本字符类型的列,只对数字类型的列进行求平均数。就比如第一行的数据
分类 货品 实体店销售量 线上销售量 成本 售价
0 水果 苹果 34 234 12 45
上面的81.25=(34+234+12+45) / 4,,其他的行也是如此
1.2 对单独的一行或者一列进行操作
1.2.1 求取单独某一列的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df['实体店销售量'].mean())
result:
196.4
1.2.2 求取单独某一行的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0]].mean())
result:
实体店销售量 34.0
线上销售量 234.0
成本 12.0
售价 45.0
dtype: float64
1.3 对多行或者多列进行操作
1.3.1 求取多列的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df[['实体店销售量', "线上销售量"]].mean())
result:
实体店销售量 196.4
线上销售量 290.6
dtype: float64
1.3.2 求取多行的平均数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0, 1]].mean())
result:
实体店销售量 45.0
线上销售量 509.0
成本 23.0
售价 100.5
dtype: float64
2 求中位数
2.1对全表进行操作
2.1.1对每一列求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.median())
result:
实体店销售量 56.0
线上销售量 234.0
成本 13.0
售价 156.0
dtype: float64
可以看到,中位数的概念只对数字有效
2.1.2 对每一行求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.median(axis=1))
result:
0 39.5
1 106.0
2 211.5
3 29.5
4 227.0
dtype: float64
2.2 对单独的一行或者一列进行操作
2.2.1 对某一列求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df['实体店销售量'].median())
result:
56.0
2.2.2 对某一行求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0]].median())
result:
实体店销售量 34.0
线上销售量 234.0
成本 12.0
售价 45.0
dtype: float64
2.3 对多行或者多列进行操作
2.3.1 对多列求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df[['实体店销售量', "线上销售量"]].median())
result:
实体店销售量 56.0
线上销售量 234.0
dtype: float64
2.3.2 对多行求中位数
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0, 1]].median())
result:
实体店销售量 45.0
线上销售量 509.0
成本 23.0
售价 100.5
dtype: float64
总结
到此这篇关于pandas求平均数和中位数的文章就介绍到这了,更多相关pandas求平均数中位数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341