【发布时间】:2014-03-21 16:20:41
【问题描述】:
我想按类别X 和Y 在数据框df 中绘制列Z 的箱线图。如何按中位数对箱线图进行降序排序?
import pandas as pd
import random
n = 100
# this is probably a strange way to generate random data; please feel free to correct it
df = pd.DataFrame({"X": [random.choice(["A","B","C"]) for i in range(n)],
"Y": [random.choice(["a","b","c"]) for i in range(n)],
"Z": [random.gauss(0,1) for i in range(n)]})
df.boxplot(column="Z", by=["X", "Y"])
请注意,this question 非常相似,但它们使用不同的数据结构。我对 pandas 比较陌生(并且一般只做过一些关于 python 的教程),所以我不知道如何使我的数据与那里发布的答案一起工作。这可能更像是一个重塑而不是一个绘图问题。也许有使用groupby的解决方案?
【问题讨论】: