Seaborn 箱线图:类型错误:/ 不支持的操作数类型:“str”和“int”

2023-11-24

我尝试像这样制作垂直的seaborn箱线图

import pandas as pd
df = pd.DataFrame({'a' : ['a', 'b' , 'b', 'a'], 'b' : [5, 6, 4, 3] })
import seaborn as sns
import matplotlib.pylab as plt
%matplotlib inline
sns.boxplot(  x= "b",y="a",data=df )

i get

enter image description here

我写东方

sns.boxplot(  x= "c",y="a",data=df , orient = "v")

and get

TypeError: unsupported operand type(s) for /: 'str' and 'int'

but

sns.boxplot(  x= "c",y="a",data=df , orient = "h")

工作正确! 怎么了?

TypeError                                 Traceback (most recent call last)
<ipython-input-16-5291a1613328> in <module>()
----> 1 sns.boxplot(  x= "b",y="a",data=df , orient = "v")

C:\Program Files\Anaconda3\lib\site-packages\seaborn\categorical.py in boxplot(x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, fliersize, linewidth, whis, notch, ax, **kwargs)
   2179     kwargs.update(dict(whis=whis, notch=notch))
   2180 
-> 2181     plotter.plot(ax, kwargs)
   2182     return ax
   2183 

C:\Program Files\Anaconda3\lib\site-packages\seaborn\categorical.py in plot(self, ax, boxplot_kws)
    526     def plot(self, ax, boxplot_kws):
    527         """Make the plot."""
--> 528         self.draw_boxplot(ax, boxplot_kws)
    529         self.annotate_axes(ax)
    530         if self.orient == "h":

C:\Program Files\Anaconda3\lib\site-packages\seaborn\categorical.py in draw_boxplot(self, ax, kws)
    463                                          positions=[i],
    464                                          widths=self.width,
--> 465                                          **kws)
    466                 color = self.colors[i]
    467                 self.restyle_boxplot(artist_dict, color, props)

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\__init__.py in inner(ax, *args, **kwargs)
   1816                     warnings.warn(msg % (label_namer, func.__name__),
   1817                                   RuntimeWarning, stacklevel=2)
-> 1818             return func(ax, *args, **kwargs)
   1819         pre_doc = inner.__doc__
   1820         if pre_doc is None:

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py in boxplot(self, x, notch, sym, vert, whis, positions, widths, patch_artist, bootstrap, usermedians, conf_intervals, meanline, showmeans, showcaps, showbox, showfliers, boxprops, labels, flierprops, medianprops, meanprops, capprops, whiskerprops, manage_xticks, autorange)
   3172             bootstrap = rcParams['boxplot.bootstrap']
   3173         bxpstats = cbook.boxplot_stats(x, whis=whis, bootstrap=bootstrap,
-> 3174                                        labels=labels, autorange=autorange)
   3175         if notch is None:
   3176             notch = rcParams['boxplot.notch']

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\cbook.py in boxplot_stats(X, whis, bootstrap, labels, autorange)
   2036 
   2037         # arithmetic mean
-> 2038         stats['mean'] = np.mean(x)
   2039 
   2040         # medians and quartiles

C:\Program Files\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in mean(a, axis, dtype, out, keepdims)
   2883 
   2884     return _methods._mean(a, axis=axis, dtype=dtype,
-> 2885                           out=out, keepdims=keepdims)
   2886 
   2887 

C:\Program Files\Anaconda3\lib\site-packages\numpy\core\_methods.py in _mean(a, axis, dtype, out, keepdims)
     70         ret = ret.dtype.type(ret / rcount)
     71     else:
---> 72         ret = ret / rcount
     73 
     74     return ret

TypeError: unsupported operand type(s) for /: 'str' and 'int'

对于seaborn 的箱线图,在水平和垂直对齐之间切换时,密切关注 x 轴和 y 轴分配非常重要:

%matplotlib inline
import pandas as pd
import seaborn as sns

df = pd.DataFrame({'a' : ['a', 'b' , 'b', 'a'], 'b' : [5, 6, 4, 3] })

# horizontal boxplots
sns.boxplot(x="b", y="a", data=df, orient='h')

# vertical boxplots
sns.boxplot(x="a", y="b", data=df, orient='v')

混合列将导致seaborn尝试计算分类数据框的汇总统计信息,这注定会失败。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Seaborn 箱线图:类型错误:/ 不支持的操作数类型:“str”和“int” 的相关文章

随机推荐

  • Symfony2 - 动态表单选择 - 验证删除

    我有一个下拉表单元素 最初它是空的 但在用户进行一些交互后 它会通过 javascript 填充值 这一切都工作正常 但是 当我提交时 它总是返回验证错误This value is not valid 如果我将项目添加到表单代码中的选择列表
  • 如何将索引器与具有参数和函数调用的扩展方法一起使用

    是否可以使用indexers with extension方法 例如 仅将其视为示例 public static object SelectedValue this DataGridView dgv string ColumnName re
  • 如何检测 Protocol Buffer 消息何时被完全接收?

    这是我的一个分支其他问题 如果您愿意 请阅读它 但这不是必需的 基本上 我意识到 为了在大消息上有效使用 C 的 BeginReceive 我需要 a 首先读取数据包长度 然后准确读取那么多字节 或者 b 使用数据包结尾分隔符 我的问题是
  • 的替代方案

    The tag从来都不是官方标准 现在已被所有浏览器完全放弃 是否有符合标准的方法使文本闪烁 blink text animation 1s blinker linear infinite webkit animation 1s blink
  • 当 php 脚本仍在执行时回显消息

    我有一个使用 cURL 的 php 脚本 执行大约需要 10 15 分钟 它的作用是 它解析大约 1000 个页面以查找特定的匹配项 并且在整个脚本中我都会回显诊断消息 例如 转到下一页 找到匹配项 加载页面时出错 它现在的工作方式 也是正
  • 如何修复尝试通过改造抛出 OutOfMemoryError 时抛出的 OutOfMemoryError

    我正在使用 Retrofit 在我的应用程序中下载一些媒体文件 如视频 mp3 jpg pdf 当我想下载 55MB 的 mp4 格式的大文件时 这是一个问题 当我想下载这个文件时 我收到如下错误 OutOfMemoryError thre
  • 如何在 C# 中使用 REST,包括 PUT、POST 和 DELETE?

    我有一个 REST Web 服务 需要在 C 中使用 不过 我需要的支持不仅仅是 GET 请求 我需要 REST 完成的所有操作 包括 GET PUT POST 和 DELETE 与之交互的最佳方式是什么 我没有看到 HTTPRequest
  • 使用 Angular.js 和 Node.js 构建实时应用程序哪种更好?

    我是 Angular js 和 Node js 的初学者 但我意识到有两种可能的方法来制作实时应用程序 第一个是使用 Socket io 另一个是使用带有 setInterval 函数的 RESTful 作为客户端解决方案 我使用两种替代方
  • PHP 与 Apple 通知网关的套接字连接失败

    免责声明 所以我发现了很多类似的问题和一些答案 但没有解决我的问题 我有这个简单的 PHP 代码
  • 拦截来电ios sdk(非越狱)

    您好 我尝试了很多次 发现由于安全原因 iOS SDK 不允许我们访问以下数据 拦截来电 从来电中获取电话号码 读取通话记录 拦截短信 从收到的短信中获取电话号码并读取其内容 阻止来电 etc 以下是我搜索有关此问题的一些链接 如何从 iP
  • SQL ' ' 不会被转义

    我正在尝试通过执行以下操作在 SQL 2008 中运行查询 query varchar max SET query SELECT FROM Table WHERE Name Karl EXEC query 问题是由于某种原因周围的撇号 Ka
  • Web Api 错误地反序列化枚举列表

    因此 我使用 Web API 控制器来接受 JSON 请求 它映射到包含枚举列表的模型对象 我遇到的问题是 如果 JSON 包含无效值 它似乎无法正确反序列化 我希望将无效值映射到枚举列表中的 0 值类型 但这并没有发生 我隔离了 3 种主
  • Android模拟器:设置移动设备号码?

    有谁知道是否可以设置模拟器的手机号码 我无法在任何地方找到有关此的信息 谢谢 基本上完全控制本博客末尾详细介绍的电话号码 http blog talosintel com 2013 04 changing imei provider mod
  • ggplot2:如何为由不同颜色的线连接的点指定多种填充颜色

    I am new to ggplot2 I would like to create a line plot that has points on them where the points are filled with differen
  • fopen 函数中的 a 和 a+ 选项有什么区别?

    我无法理解C fopen api文档中 a 和 a 选项的描述 a 中的选项是追加和更新 这里的 更新 一词是什么意思 这是手册页的内容 man fopen say a 打开以追加 写在文件末尾 如果满足则创建该文件 不存在 该流位于文件末
  • 在 Swing GUI 中嵌入视频的简单方法

    我一直在寻找一种将视频嵌入到我的 Java Swing GUI 中的极其简单的方法 我在追风吗 理想情况下 我希望有这样的东西 VideoPlayer video new VideoPlayer filename frame getCont
  • 我们应该密封单身人士吗?我们应该首先尝试从单例继承吗?

    是否应该允许 Singleton 类有孩子 我们应该密封它吗 优缺点都有什么 为了能够从 Singleton 类继承 我们必须将构造函数设置为受保护的而不是私有的 现在 这在 c 中没问题 但 java 中的 protected 字允许子类
  • 手动获取 AuthenticationManager 实例

    我正在尝试实现以下内容 但我的authenticationManager 实例抛出以下异常并且未自动装配 如何从 Spring 手动获取它的实例 我没有使用 Spring 控制器 而是使用 JSF 请求作用域 bean 当容器尝试自动装配a
  • 在 Play 2 路由中处理自由格式 GET URL 参数

    假设我有一个可以选择接受两个参数的操作 def foo name String age Integer Action name age can both be null if not passed 我如何设置我的route文件以使用以下任何
  • Seaborn 箱线图:类型错误:/ 不支持的操作数类型:“str”和“int”

    我尝试像这样制作垂直的seaborn箱线图 import pandas as pd df pd DataFrame a a b b a b 5 6 4 3 import seaborn as sns import matplotlib py