pandas.DataFrame.plot(kind='box') 和 pandas.DataFrame.boxplot() 之间的不一致
Inconsistency between pandas.DataFrame.plot(kind='box') and pandas.DataFrame.boxplot()
我在尝试制作 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')
我希望两个情节相同,但我得到:
这是预期的行为吗?如果是,应如何更改第一个图的表达式以匹配第二个图?
.boxplot()
和 .plot(kind='box')
/.plot.box()
是单独的实现。 .plot(kind='box')
/.plot.box()
的问题在于,尽管参数 by
存在,但它没有实现,因此被忽略(参见 this issue for example, and they never managed to document it properly),这意味着您将无法重现你用 .boxplot()
.
得到的结果
Tl;dr .plot(kind='box')
/.plot.box()
实现不佳,请改用 .boxplot()
。
我在尝试制作 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')
我希望两个情节相同,但我得到:
这是预期的行为吗?如果是,应如何更改第一个图的表达式以匹配第二个图?
.boxplot()
和 .plot(kind='box')
/.plot.box()
是单独的实现。 .plot(kind='box')
/.plot.box()
的问题在于,尽管参数 by
存在,但它没有实现,因此被忽略(参见 this issue for example, and they never managed to document it properly),这意味着您将无法重现你用 .boxplot()
.
Tl;dr .plot(kind='box')
/.plot.box()
实现不佳,请改用 .boxplot()
。