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

目录
  • 准备
  • 1.求平均数
    • 1.1对全表进行操作
      • 1.1.2 求取每行的平均数
    • 1.2 对单独的一行或者一列进行操作
      • 1.2.1 求取单独某一列的平均数
    • 1.3 对多行或者多列进行操作
      • 1.3.1 求取多列的平均数
      • 1.3.2 求取多行的平均数
  • 2 求中位数
    • 2.1对全表进行操作
      • 2.1.1对每一列求中位数
      • 2.1.2 对每一行求中位数
    • 2.2 对单独的一行或者一列进行操作
      • 2.2.1 对某一列求中位数
      • 2.2.2 对某一行求中位数
    • 2.3 对多行或者多列进行操作
      • 2.3.1 对多列求中位数
      • 2.3.2 对多行求中位数
  • 总结

准备

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

(0)

相关推荐

  • Python Pandas实现数据分组求平均值并填充nan的示例

    Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值. DataFrame数据格式 fillna方式实现 groupby方式实现 DataFrame数据格式 以下是数据存储形式: fillna方式实现 1.按照industryName1列,筛选出业绩 2.筛选出相同行业的Series 3.计算平均值mean,采用fillna函数填充 4.append到新DataFrame中 5.循环遍历行业名称,完成2,3,4步骤 factordatafillna = pd.

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

    目录 准备 1.求平均数 1.1对全表进行操作 1.1.2 求取每行的平均数 1.2 对单独的一行或者一列进行操作 1.2.1 求取单独某一列的平均数 1.3 对多行或者多列进行操作 1.3.1 求取多列的平均数 1.3.2 求取多行的平均数 2 求中位数 2.1对全表进行操作 2.1.1对每一列求中位数 2.1.2 对每一行求中位数 2.2 对单独的一行或者一列进行操作 2.2.1 对某一列求中位数 2.2.2 对某一行求中位数 2.3 对多行或者多列进行操作 2.3.1 对多列求中位数 2.

  • Python pandas求方差和标准差的方法实例

    目录 准备 1.求方差 1.1对全表进行操作 1.1.1求取每列的方差 1.1.2 求取每行的方差 1.2 对单独的一行或者一列进行操作 1.2.1 求取单独某一列的方差 1.2.2 求取单独某一行的方差 1.3 对多行或者多列进行操作 1.3.1 求取多列的方差 1.3.2 求取多行的方差 2 求标准差 2.1对全表进行操作 2.1.1对每一列求标准差 2.1.2 对每一行求标准差 2.2 对单独的一行或者一列进行操作 2.2.1 对某一列求标准差 2.2.2 对某一行求标准差 2.3 对多行

  • C语言中判断素数(求素数)的思路与方法实例

    目录 前言 思路1实现: 思路2实现: <C与指针>4.14-2: 补充:判断素数的4种方法实例 总结 前言 素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数. 思路2):判断方法还可以简化.m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~  之间的每一个整数去

  • Java中求最大值的4种方法实例代码

    前言 本文主要给大家分享了关于java求最大值的4中方法,文中给出了完整的示例代码,下面话不多少了,来一起看看吧 示例代码: /** *@author Prannt *求最大值(或最小值) *本例以int数据类型为例,可指定其他数据类型 */ //方法一:直接法,求最小值类似 public class Deno05ArrayMax { public static void main(String[] args) { //数据类型可指定 int [] array = {5,15,20,30,100

  • 使用pandas生成/读取csv文件的方法实例

    前言 csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看. 先引入pandas库 import pandas as pd 方法一: 1.我构造了一个cont_list,结构为列表嵌套字典,字典是每一个样本,类似于我们爬虫爬下来的数据的结构 2.利用pd.DataFrame方法先将数据转换成一个二维结构数据,如下方打印的内容所示,cloumns指定列表,列表必须是列表 3.to_csv方法可以直接保存csv文件,index=False表示csv文件

  • Pandas DataFrame.drop()删除数据的方法实例

    目录 语法 参数 结果展示 扩展 总结 df.drop()通过指定标签名称和相应的轴,或直接给定索引或列名称来删除行或列 语法 df.drop(labels = None, axis = 0, index = None, columns = None, level = None, inplace = False, errors = 'raise') 参数 1.labels:要删除的列或者行,如果要删除多个,传入列表 2.axis:轴的方向,0为行,1为列,默认为0 3.index:指定的一行或多

  • python求平均数、方差、中位数的例子

    CalStatistics.py def getNum(): #获取用户不定长度的输入 nums = [] iNumStr = input("请输入数字(回车退出):") while iNumStr != "": nums.append(eval(iNumStr)) iNumStr = input("请输入数学(回车退出):") return nums def mean(numbers): #计算平均值 s = 0.0 for num in nu

  • pandas求两个表格不相交的集合方法

    Hi,好久不见,我还是那颗翻滚的老鼠屎.处理数据时想求两个表格求不相交的部分,或许是对知识的匮乏限制了我的想象力,并未找到直接求的方法,在这里介绍老鼠屎技己使用的方法,希望对读者会有帮助. 阴影部分为所要求的部分(但是前提是A.B两个集合都是无重复内容的集合) 首先先造两个DataFrame来做示例. import pandas as pd a0={"number":range(10),"letter":["a","a",&q

  • python的列表List求均值和中位数实例

    我就废话不多说了,直接上代码吧! import numpy as np a = [2,4,6,8,10] average_a = np.mean(a) median_a = np.median(a) 知识补充:python--寻找两个列表的中位数 题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2 不会同时为空. 示例 1: nums1

  • PHP基于简单递归函数求一个数阶乘的方法示例

    本文实例讲述了PHP基于简单递归函数求一个数阶乘的方法.分享给大家供大家参考,具体如下: 一.问题: 求一个数a的阶乘,那么,a!=a*(a-1)*(a-2)*(a-3)*--*2*1.比如,6的阶乘6!=6*5*4*3*2*1=720.那么,如何通过php代码实现求任意一个数的阶乘? 二.实现代码: <?php function demo($a) { if ($a > 1) { $r = $a * demo($a - 1); } else { $r = $a; } return $r; }

随机推荐