如何在 Pandas 中按中位数对箱线图进行排序?

matplotlibpythondata visualization

要在 Pandas 中按中位数对箱线图进行排序,我们可以采取以下步骤

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个包含二维、大小可变、可能异构的表格数据的 Pandas 数据框,其中包含三列。

  • ma​​rksdob 对数据框元素进行分组。

  • 找到数据框的 中位数

  • 获取 中位数 的排序值。

  • 从数据框创建箱线图列。

  • 要显示图形,请使用 Show() 方法。

示例

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame([
    [23, 'James', 12],
    [39, 'Jimmy', 27],
    [56, 'Jack', 69],
    [60, 'Tom', 96],
    [80, 'Tim', 79]
], columns=['marks', 'names', 'dob'])

g = df.groupby(["marks", "dob"])

df = pd.DataFrame({col: val['dob'] for col, val in g})

median = df.median()
median.sort_values(ascending=False, inplace=True)

df = df[median.index]
df.boxplot()

plt.show()

输出

它将产生以下输出 −


相关文章