我有一个熊猫数据框:df = pd.DataFrame(data = {'X':['Jason', 'Molly', 'Tina', 'Jason', 'Tina', 'Tina'], 'Y': [13,19,52,14,12,12]}) X Y0 Jason 131 Molly 192 Tina 523 Jason 144 Tina 125 Tina 12我想在 matplotlib 中重新创建 seaborn 库的 catplot 功能,例如:sns.catplot(x='X', y='Y', kind="box", data=df)所以我这样做:plt.boxplot(df.X, df.Y)但这不起作用,我收到一个错误:TypeError:无法使用灵活类型执行归约如何在 matplotlib 中获得相同的结果?我在 matplotlib 中执行此操作,因为使用 seaborn,我必须手动更改 x,并且我想使用 for 循环动态更改 x
1 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
没有直接的等价物,因为 seaborn 首先按 x 对数据进行分组。使用 matplotlib 时,您需要手动进行分组,
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(data = {'X':['Jason', 'Molly', 'Tina', 'Jason', 'Tina', 'Tina'],
'Y': [13,19,52,14,12,12]})
plt.boxplot([col.Y.values for n, col in df.groupby("X")])
plt.show()
添加回答
举报
0/150
提交
取消
