74_Pandas median获取中位数

74_Pandas median获取中位数

使用median()方法获取pandas.DataFrame、pandas.Series的中值(1/2分位数、第50个百分位数)。

中位数的定义如下。

中位数:是将有限个数据按降序排列时位于中间的值。如果有偶数个数据,则取最靠近中心的两个值的算术平均值。

本节解释以下内容。

  • 中值()的基本用法
    • 当行数/元素数为偶数时
  • 指定行/列:参数axis

中值()的基本用法

以下面的 pandas.DataFrame 为例。

import pandas as pd

df = pd.DataFrame({'col_1': range(5),
                   'col_2': [i ** 2 for i in range(5)],
                   'col_3': list('abcde')})

print(df)
#    col_1  col_2 col_3
# 0      0      0     a
# 1      1      1     b
# 2      2      4     c
# 3      3      9     d
# 4      4     16     e

默认情况下,数字字符串的中值作为 pandas.Series 返回。非数字列将被忽略。

print(df.median())
# col_1    2.0
# col_2    4.0
# dtype: float64

print(type(df.median()))
# <class 'pandas.core.series.Series'>

如果从 pandas.Series 调用中值(),中值将以浮点数形式返回。

print(df['col_1'].median())
# 2.0

print(type(df['col_1'].median()))
# <class 'numpy.float64'>

当行数/元素数为偶数时

如上例所示,如果行数和元素数为奇数,则按原样返回中心值。 如果行数/元素数为偶数,则返回两个中心值的平均值。

df_even = pd.DataFrame({'col_1': range(6),
                        'col_2': [i ** 2 for i in range(6)],
                        'col_3': list('abcdef')})

print(df_even)
#    col_1  col_2 col_3
# 0      0      0     a
# 1      1      1     b
# 2      2      4     c
# 3      3      9     d
# 4      4     16     e
# 5      5     25     f

print(df_even.median())
# col_1    2.5
# col_2    6.5
# dtype: float64

指定行/列:参数axis

默认情况下,处理每一列,但如果指定参数 axis=1,则处理每一行。在这种情况下,非数字列也会被忽略。

print(df)
#    col_1  col_2 col_3
# 0      0      0     a
# 1      1      1     b
# 2      2      4     c
# 3      3      9     d
# 4      4     16     e
print(df.median(axis=1))
# 0     0.0
# 1     1.0
# 2     3.0
# 3     6.0
# 4    10.0
# dtype: float64

相关推荐

  1. 74_Pandas median获取位数

    2024-04-30 10:42:05       29 阅读
  2. 73_Pandas获取位数/百分位数

    2024-04-30 10:42:05       32 阅读
  3. hot100:76数据流的位数

    2024-04-30 10:42:05       54 阅读
  4. sql求位数

    2024-04-30 10:42:05       57 阅读
  5. 【Android】点击图片获取点击位置在图片位置

    2024-04-30 10:42:05       32 阅读
  6. uniapp获取当前位置

    2024-04-30 10:42:05       44 阅读
  7. openJudge | 位数 C语言

    2024-04-30 10:42:05       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 10:42:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 10:42:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 10:42:05       87 阅读
  4. Python语言-面向对象

    2024-04-30 10:42:05       96 阅读

热门阅读

  1. BeanUtil.copyproperties()的基本使用

    2024-04-30 10:42:05       37 阅读
  2. 【无标题】

    2024-04-30 10:42:05       27 阅读
  3. CSS 控制溢出行为

    2024-04-30 10:42:05       26 阅读
  4. 远程修改注册表的reg命令

    2024-04-30 10:42:05       32 阅读
  5. Python正则表达式

    2024-04-30 10:42:05       33 阅读
  6. c++day6

    c++day6

    2024-04-30 10:42:05      32 阅读