微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绘制没有组的箱线图 seaborn

如何解决绘制没有组的箱线图 seaborn

我想在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)。可能有一些争论或其他什么。你可以帮帮我吗?谢谢。

解决方法

箱线图需要一个数字列表来绘制,或者如果它是一个数据框,它会将每一列绘制为箱线图,但每列需要具有相同长度的数据。尝试将您的系列转换为列表并像这样绘制:

import seaborn as sns

fig,ax = plt.subplots()
sns.boxplot(ax=ax,data = data_df_series.tolist())

如果这不起作用,您的系列的数据类型是什么?尝试做:

df.dtype

此外,是否有任何 NaN 值?

此外,您无需将数据转换为 Pandas 数据框,因为它只会在预先绘制之前转换为列表。如果它还不是 Pandas 数据框,您可以将其保留为之前的任何内容(即列表或 numpy 数组)

,

假设你使用的是seaborn 0.11.1,你可以直接调用sns.boxplot

import seaborn as sns
import pandas as pd

df = pd.DataFrame({'1': [1.010,2.030,2.433,1.933],'2': [ 2.343,2.534,2.748,2.432]})
sns.boxplot(data=df)

boxplot from simple dataframe

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。