主页 > 知识库 > pandas求平均数和中位数的方法实例

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

您可能感兴趣的文章:
  • Python Pandas实现数据分组求平均值并填充nan的示例

标签:上海 乐山 沈阳 新疆 沧州 红河 河南 长治

巨人网络通讯声明:本文标题《pandas求平均数和中位数的方法实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266