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