如何在Pandas中按中位数值对箱线图进行排序?
为了在Pandas中按中位数值对箱线图进行排序,我们可以采取以下步骤。
步骤
- 设置图形大小并调整子图之间和周围的填充。
-
创建一个二维、大小可变、可能异构的表格数据的Pandas数据帧,具有三列。
-
按 marks 和 dob 将数据帧元素分组。
-
找到数据帧的中位数。
-
获取排序后的 median 的值。
-
从数据帧列创建一个箱形图。
-
使用 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()
输出
这将产生以下输出−

极客教程