我想在seaborn(不是matplotlib)中绘制箱线图,但它给了我一个错误“系列的真值不明确。使用a.empty、a.bool()、a.item()、a。 any() 或 a.all()。"
我没有在在线文档或其他教程中找到与我的数据类似的内容。我的数据看起来很简单,只是一堆观察: 例如
1. 2. ... ...
1.010. 2.343. ...
2.030. 2.534. ...
2.433. 2.748. ...
1.933. 2.432. ...
... ...
我将我的数据转换为pandas.DataFrame,它看起来像我上面写的(观察次数是第一个字符串(pandas.columns),值在下面)。它不起作用sns.boxplot(data)。可能有一些争论或其他什么。你可以帮帮我吗?谢谢。
答案 0 :(得分:1)
箱线图需要一个数字列表来绘制,或者如果它是一个数据框,它会将每一列绘制为箱线图,但每列需要具有相同长度的数据。尝试将您的系列转换为列表并像这样绘制:
import seaborn as sns
fig, ax = plt.subplots()
sns.boxplot(ax=ax, data = data_df_series.tolist())
如果这不起作用,您的系列的数据类型是什么?尝试做:
df.dtype
此外,是否有任何 NaN 值?
此外,您无需将数据转换为 Pandas 数据框,因为它只会在预先绘制之前转换为列表。如果它还不是 Pandas 数据框,您可以将其保留为之前的任何内容(即列表或 numpy 数组)
答案 1 :(得分:1)