gpt4 book ai didi

python - 无法使用 matplotlib 重新创建 catplot

转载 作者:行者123 更新时间:2023-12-01 00:34:42 26 4
gpt4 key购买 nike

我有一个 pandas 数据框:

df = pd.DataFrame(data = {'X':['杰森', '莫莉', '蒂娜', '杰森', '蒂娜', '蒂娜'], '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中重新创建seaborn库的catplot功能,例如:

sns.catplot(x='X', y='Y', kind="box", data=df)

所以我这样做:

plt.boxplot(df.X, df.Y)

但这不起作用,我收到错误:

TypeError: cannot perform reduce with flexible type

如何在 matplotlib 中获得相同的结果?

我在 matplotlib 中执行此操作,因为使用 seaborn,我必须手动更改 x 并且我想使用 for 循环动态更改 x

最佳答案

没有直接的等价物,因为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()

关于python - 无法使用 matplotlib 重新创建 catplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57891028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com