0

我是 Python 新手,正在为具有 2 个数字列和 1 个具有值(A、B、C、D)的字符列的数据集显示箱线图。我想按字符列显示 2 个数字列中的任何一个的值的箱线图。我在网上关注了一些教程,但情节没有出现。

我尝试在某些代码的末尾添加 .show() 或 .plot() ,但收到警告说这些属性不存在。我尝试过使用 matplotlib,当我使用该模块时它似乎工作得更好,但我想学习如何在使用 pandas 时做到这一点。

import pandas as pd
datafile="C:\\Users\\…\\TestFile.xlsx"
data=pd.read_excel(datafile)
data.boxplot('Col1', by='Col2')

我希望在运行此代码时自动显示箱线图,或者能够再运行一行以使其弹出,但我尝试过的一切都失败了。我错过了哪些步骤?

4

2 回答 2

5

你应该使用plt.show(). 看下面的代码

import pandas as pd
import matplotlib.pyplot as plt
datafile="C:\\Users\\…\\TestFile.xlsx"
data=pd.read_excel(datafile)
data.boxplot('Col1', by='Col2')
plt.show()
于 2019-08-15T19:41:16.733 回答
1

Seaborn 库可以帮助您轻松地在数据框的两列之间绘制各种图。将任何分类列放在 x 轴上,将数值列放在 y 轴上。Seaborn 中还有一个精美的箱线图版本,称为boxenplot.

import seaborn as sns
sns.boxplot(x = data['Col1'], y = data['Col2'])


import seaborn as sns
sns.boxenplot(x = data['Col1'], y = data['Col2'])
于 2019-08-15T19:45:24.130 回答