【问题标题】:Inconsistency between pandas.DataFrame.plot(kind='box') and pandas.DataFrame.boxplot()pandas.DataFrame.plot(kind='box') 和 pandas.DataFrame.boxplot() 不一致
【发布时间】:2022-01-17 08:04:38
【问题描述】:

我在尝试制作 pandas.DataFrame 中的一列与另一列的箱线图时遇到了以下问题。代码如下:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.rand(60))
df.columns = ['Values']
names = ('one','two','three')*int(df.shape[0]/3)
df['Names'] = names

df.plot(x='Names', y='Values', kind='box')
df.boxplot(column='Values', by='Names')

我希望两个情节相同,但我得到:

这是预期行为吗?如果是,应如何更改第一个图的表达式以匹配第二个?

【问题讨论】:

    标签: python pandas dataframe plot boxplot


    【解决方案1】:

    .boxplot().plot(kind='box')/.plot.box() 是独立的实现。 .plot(kind='box')/.plot.box() 的问题在于,虽然参数 by 存在,但它没有实现,因此被忽略(例如,参见 this issue,它们是 never managed to document it properly),这意味着您将无法重现使用.boxplot() 获得的结果。

    Tl;dr .plot(kind='box')/.plot.box() 实施不佳,请改用 .boxplot()

    【讨论】:

      猜你喜欢
      • 2022-10-15
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 2019-09-26
      • 1970-01-01
      相关资源
      最近更新 更多