我有一只熊猫的数据
df = pd.DataFrame(data = {'X':['Jason', 'Molly', 'Tina', 'Jason', 'Tina', 'Tina'], 'Y': [13,19,52,14,12,12]})
X Y
0 Jason 13
1 Molly 19
2 Tina 52
3 Jason 14
4 Tina 12
5 Tina 12我想在matplotlib中重新创建海运库的catplot功能,如下所示:
sns.catplot(x='X', y='Y', kind="box", data=df)所以我想:
plt.boxplot(df.X, df.Y)但这不管用,我有个错误:
TypeError:不能用灵活的类型执行减缩
如何在matplotlib中实现相同的结果?
我是在matplotlib中这样做的,因为使用海运时,我必须手动更改x,并且我希望使用for-循环动态地更改x。
发布于 2019-09-11 14:22:54
没有直接的等效项,因为海运首先将数据按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()https://stackoverflow.com/questions/57891028
复制相似问题