新闻动态

pandas求平均数和中位数的方法实例

发布日期:2022-02-19 16:43 | 文章来源:站长之家

准备

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从入门到放弃2534 13 89
4 水果 葡萄78956 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:

081.25
1 257.50
2 308.00
340.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:

039.5
1 106.0
2 211.5
329.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求平均数中位数内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

海外稳定服务器

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部