gpt4 book ai didi

Python pandas groupby boxplots重叠

转载 作者:太空宇宙 更新时间:2023-11-04 03:26:48 25 4
gpt4 key购买 nike

我对 Pandas/Matplotlib 的这种行为感到困惑:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

series = pd.Series(np.arange(10))
classifier = lambda x: 'Odd' if x%2 else "Even"
grouped = series.groupby(classifier)

grouped.plot(kind='box')
plt.show()

Boxplots overlap

如何让箱线图彼此相邻 Pandas 风格,即使用漂亮的语法? :)

(Pandas v. 0.16.2,Matplotlib v. 1.4.3)

编辑:我知道我可以这样做:

grouped = grouped.apply(pd.Series.to_frame)

但我认为有更简洁的方法来做到这一点?

最佳答案

所以我的一般建议是避免通过 pandas 进行绘图,但以下情况除外:

  1. 超快速的“n”脏交互式探索和检查
  2. 时间序列

任何其他时候你会想要使用 seaborn 或推出你自己的 matplotlib 函数。由于您正在使用数据框,因此 seaborn 是您的最佳选择,尽管标记数据支持很快就会在 matplotlib 的管道中出现。

我还建议您继续创建数据框,并在其中存储分类。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn
seaborn.set(style='ticks')

df = pd.DataFrame(np.arange(10), columns=['val'])
df['class'] = df['val'].apply(lambda x: 'Odd' if x%2 else "Even")
seaborn.boxplot(x='class', y='val', data=df, width=0.5)
seaborn.despine(offset=10, trim=True)

enter image description here

关于Python pandas groupby boxplots重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720873/

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