pandas:qcut错误:ValueError:Bin边缘必须是唯一的:

2024-05-04

我正在尝试使用 pandas qcut 方法计算两列的百分位数,如下所示:

my_df['float_col_quantile'] = pd.qcut(my_df['float_col'], 100, labels=False)
my_df['int_col_quantile'] = pd.qcut(my_df['int_col'].astype(float), 100, labels=False)

专栏float_col_quantile工作正常,但列int_col_quantile有以下错误。知道我在这里做错了什么吗?我该如何解决这个问题?谢谢!


ValueError                                Traceback (most recent call last)
<ipython-input-19-b955e0b00953> in <module>()
      1 my_df['float_col_quantile'] = pd.qcut(my_df['float_col'], 100, labels=False)
----> 2 my_df['int_col_quantile'] = pd.qcut(my_df['int_col'].astype(float), 100, labels=False)


/usr/local/lib/python3.4/dist-packages/pandas/tools/tile.py in qcut(x, q, labels, retbins, precision)
    173     bins = algos.quantile(x, quantiles)
    174     return _bins_to_cuts(x, bins, labels=labels, retbins=retbins,
--> 175                          precision=precision, include_lowest=True)
    176 
    177 

/usr/local/lib/python3.4/dist-packages/pandas/tools/tile.py in _bins_to_cuts(x, bins, right, labels, retbins, precision, name, include_lowest)
    192 
    193     if len(algos.unique(bins)) < len(bins):
--> 194         raise ValueError('Bin edges must be unique: %s' % repr(bins))
    195 
    196     if include_lowest:

ValueError: Bin edges must be unique: array([  1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,
         1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,
         1.,   1.,   1.,   1.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,
         2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,
         2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,
         2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,   2.,
         2.,   2.,   2.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,
         4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,
         4.,   4.,   4.,   4.,   4.,   4.,   4.,   4.,   8.,   8.,   8.,
         8.,  10.])

问题是 pandas.qcut 选择 bin,以便每个 bin/分位数中有相同数量的记录,但相同的值不能落在多个 bin/分位数中。

Here https://stackoverflow.com/a/40548606/1201614是一个解决方案列表。

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

pandas:qcut错误:ValueError:Bin边缘必须是唯一的: 的相关文章

随机推荐

  • 使用 React 更新关于 props 变化的 C3 图表

    我试图在数据更改时美化作为 React 组件编写的 C3 图表的更新 数据通过父组件的 props 流向组件 我现在拥有的解决方案 有效 但似乎并不是最优的 当新数据进入时 整个图表都会重新生成 我想过渡到新状态 线条移动而不是整个图表眨眼
  • 如何在 UIStackView 中垂直和水平居中

    I have a simple UIImageView with 50x50 size If I had a UIView of size 100x100 and I wanted to center the image inside of
  • 如何以编程方式滚动面板

    我有一个System Windows Forms Panel有一些内容 我正在尝试以编程方式向上或向下滚动面板 垂直 我尝试过设置AutoScrollPosition属性为新的Point在面板上 但这似乎并没有做到这一点 我有AutoScr
  • UIView的setNeedsLayout、layoutIfNeeded和layoutSubviews之间有什么关系?

    谁能对两者之间的关系给出明确的解释UIView s setNeedsLayout layoutIfNeeded and layoutSubviews方法 以及一个使用所有三个的示例实现 谢谢 让我感到困惑的是 如果我将自定义视图发送给set
  • 带填充零的十六进制格式

    将整数类型格式化为十六进制字符串时 我无法让它用零填充数字 println 4x 0x0001 as u16 gt 0x1 but expected 0x0001 println 02x 0x0001 as u16 gt 0x1 same
  • Angular js中两个$scope数组的区别

    有没有办法返回 angularjs 范围内存在的两个数组之间的差异 例如 scope user1 a b scope user2 a b c d 这两者的区别应该给我另一个 scope user3 c d Underscore js对此有不
  • 使用主题函数在 body 标记后插入代码

    我试图在开头添加一段代码everyDrupal 站点中的页面 因为我有不止一个page模板 我想以编程方式执行此操作 但没有成功 我还是个新手 虽然我了解了钩子 主题函数等的要点 但我只是想不出实现这一目标的正确方法 到目前为止我已经覆盖了
  • R data.frame 从另一个变量选择的变量中获取值,向量化

    我收到的数据包含许多类似的变量 还有一个附加变量指示哪些变量one我真正想要的那些类似的变量 使用循环我可以查找正确的值 但是数据很大 循环很慢 而且看起来这应该是可矢量化的 我只是还没弄清楚怎么做 编辑 所选变量将用作同一数据框中的新变量
  • SwiftUI - 正确使用 @available() 和 #available

    我在下面的代码中遗漏了什么吗 此应用程序在 iOS 15 设备上构建 macOS Monterey b5 Xcode 13 b5 并完美执行 但在 iOS 14 7 设备上导致 SIGABRT import SwiftUI struct C
  • 在 RecyclerView 中回收视图后,长按会损坏 EditText(或 android.support.v7.widget.AppCompatEditText)

    Bug总结 After EditText正在被回收RecyclerView 其用于选择所有文本并显示上下文菜单 剪切 复制 粘贴 的长按行为不再按预期工作 从 Android 15 到 Android 28 都会出现此问题 我都尝试过Edi
  • 角度抛出错误 $parse:ueoe 表达式意外结束

    我网站的这一部分有错误 我无法弄清楚 因为我几个月没有更改它 错误是 Error parse ueoe http errors angularjs org 1 4 3 parse ueoe p0 event id 3FEventContro
  • 如何使用 JGit API 从父提交获取树?

    对于给定的提交 我想获取父提交树 以便我可以继续比较更改 我发现父 RevCommit 对象上的 getTree 始终返回 null ObjectId lastCommitId repository resolve Constants HE
  • 查找二维空间中圆内的所有点

    我表示我的 2D 空间 考虑一个窗口 其中每个像素显示为 2D 数组中的一个单元格 即 100x100 的窗口由相同维度的数组表示 现在给定窗口中的一个点 如果我画一个半径的圆r 我想找到该圆圈中的所有点 我想我应该检查半径周围方形区域中的
  • request.getScheme() 返回 http 而不是在 java 中返回 https

    function demo request response request getScheme is returning http instead of returning https System out println request
  • JavaScript blob 编码为 UTF-8 而不是 ANSI

    我使用 JavaScript blob 创建一个 FDF 文件 该文件打开并填充本地存储的 PDF 但是 本地存储的 PDF 的文件路径包含重音字符 并且我无法编辑文件夹名称 当文件夹路径不包含重音符号时 此代码有效 并且如果我在记事本中打
  • 在生产 Web 服务器上安装 Visual Studio 的原因

    有人将 Visual Studio 安装在 Web 服务器上 其唯一目的是为传入请求提供服务 是否有正当理由 说真的 有人可能这样做有什么特殊原因吗 一种可能的用途是连接到 Web 服务器并调试某种错误或内存泄漏 这些错误或内存泄漏已被证明
  • Android:图库视图已被弃用?

    我一直在使用图库控件来显示照片 但在滑动照片时遇到问题 我需要一直滑动才能更改照片 否则它会弹回到上一张照片 上网一查 听说画廊已经被废弃了 下一个可以与画廊控件执行相同操作的控件是什么 Use a Gridview http develo
  • Groovy 中的嵌套“each”循环

    需要有关 groovy 中嵌套循环语法的指导 如何使用迭代器在这里打印 a name的值 b name的值 的值 List a a each print it name List b something b each print value
  • 用以前的非缺失值填充“缺失”值的有效方法是什么?

    我有一个向量 using Missings v allowmissing rand 100 v rand 100 lt 0 1 missing 最好的填充方式是什么v与最后一个非缺失值 现在 for i val in enumerate v
  • pandas:qcut错误:ValueError:Bin边缘必须是唯一的:

    我正在尝试使用 pandas qcut 方法计算两列的百分位数 如下所示 my df float col quantile pd qcut my df float col 100 labels False my df int col qua