Python/Pandas - ValueError:索引包含重复条目,无法重塑

2023-12-02

我有一个名为“bal”的数据框。它看起来像这样:

              ano   id   unit period
business_id                         
9564         2012  302  sdasd  anual
9564         2011  303  sdasd  anual
2361         2013  304  sdasd  anual
2361         2012  305  sdasd  anual
...

我正在其上运行以下代码:

bal=bal.merge(bal.pivot(columns='ano', values='id'),right_index=True,left_index=True)

我的目的是将其变成这样:

               ano    id  unit    period  2006  2007  2008  2009  2010  \
 business_id                                                                     

 72           2013   774  sdasd   anual   NaN   NaN   NaN   NaN   NaN   

 72           2012   775  sdasd   anual   NaN   NaN   NaN   NaN   NaN   

 74           2012  1120  sdasd   anual   NaN   NaN   NaN   NaN   NaN   

 119          2013   875  sdasd   anual   NaN   NaN   NaN   NaN   NaN   

 119          2012   876  sdasd   anual   NaN   NaN   NaN   NaN   NaN   

 ...

当我编写代码时,我收到此错误:

ValueError: Index contains duplicate entries, cannot reshape

因此,为了避免重复,我添加了 drop_duplicates 行:

bal=bal.drop_duplicates()
bal=bal.merge(bal.pivot(columns='ano', values='id'),right_index=True,left_index=True)

当我运行代码时,瞧,我遇到了同样的问题:

ValueError: Index contains duplicate entries, cannot reshape

我做错了什么或者误解了什么吗?

EDIT

bal 是我使用以下代码从 SQL 创建的数据框:

bal=pd.read_sql('select * from table;',connection).set_index('business_id')[['ano','id','unit','period']]

奇怪的是,如果我限制 SQL 查询,它就可以正常工作:

bal=pd.read_sql('select * from table limit 1000;',connection).set_index('business_id')[['ano','id','unit','period']]

我认为这个问题可能与索引有很多重复项有关(正如您在上面的示例中看到的)。但是如果我print(bal.head(4))在这个有限的球中,它看起来与上面看到的一模一样,但索引重复。


UPDATE2:

qry = "select distinct business_id,ano,id,unit,period from table where period='anual'"
bal=pd.read_sql(qry, connection, index_col=['business_id'])

假设我们得到以下 DF(在ano柱子):

In [167]: bal
Out[167]:
              ano   id   unit period
business_id
9564         2012  302  sdasd  anual
9564         2012  299  sdasd  anual
9564         2011  303  sdasd  anual
2361         2013  304  sdasd  anual
2361         2012  305  sdasd  anual

我们做得到:

In [169]: bal.join(bal.pivot_table(index=bal.index, columns='ano',
                                   values='id', aggfunc='first'))
Out[169]:
              ano   id   unit period   2011   2012   2013
business_id
2361         2013  304  sdasd  anual    NaN  305.0  304.0
2361         2012  305  sdasd  anual    NaN  305.0  304.0
9564         2012  302  sdasd  anual  303.0  302.0    NaN
9564         2012  299  sdasd  anual  303.0  302.0    NaN
9564         2011  303  sdasd  anual  303.0  302.0    NaN

UPDATE:

考虑以下示例 DF:

In [161]: bal
Out[161]:
              ano   id   unit period
business_id
9564         2012  302  sdasd  anual
9564         2012  299  sdasd  anual   # i've intentionally added this row with duplicated `ano`
9564         2011  303  sdasd  anual
2361         2013  304  sdasd  anual
2361         2012  305  sdasd  anual

重现您的错误:

In [162]: bal.pivot(columns='ano', values='id')
...
skipped
...
ValueError: Index contains duplicate entries, cannot reshape

旧答案:

那是你要的吗?

In [144]: bal.join(bal.pivot(columns='ano', values='id'))
Out[144]:
              ano   id   unit period   2011   2012   2013
business_id
2361         2013  304  sdasd  anual    NaN  305.0  304.0
2361         2012  305  sdasd  anual    NaN  305.0  304.0
9564         2012  302  sdasd  anual  303.0  302.0    NaN
9564         2011  303  sdasd  anual  303.0  302.0    NaN
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python/Pandas - ValueError:索引包含重复条目,无法重塑 的相关文章

随机推荐

  • JAXB 将循环引用映射到 XML

    我有一个包含循环的对象图 我如何让 JAXB 处理这个问题 我尝试使用 XmlTransient子类中的注释 但 JAXB 编组器仍然检测到循环 Entity XmlRootElement public class Contact Id p
  • 如何让函数执行得更快?

    我有以下功能 https i stack imgur com yXA67 png where mu是矩阵 n X 行和 n Y 列 d X 和 d Y 是距离矩阵 在 R 中实现此函数的一种方法是 H mu lt function mu d
  • jQuery.noConflict() 破坏插件

    我在 Rails 应用程序中同时使用 Prototype 和 jQuery 为了解决 冲突我执行以下操作 这大部分工作正常 但我正在尝试使用a plugin不喜欢它并抛出一个 is not a function type error 我能做
  • 为什么 Node.js 没有原生 DOM?

    当我发现这一点时Node js 使用 V8 JavaScript 引擎构建 我想 太好了 网页抓取会随着页面变得更容易 将像在浏览器中一样呈现 带有 支持 XPath 和任何 AJAX 调用的 本机 DOM 执行的页面 为什么它使用与 Ch
  • 使用 Android 拍照时出现问题(垂直相机 | 肖像)

    使用以下代码显示相机的垂直预览 它的工作原理 但 我得到一张风景照片 我如何垂直构建它 我有垂直预览视图 但无法垂直保存图片 问候和感谢 弗兰 ONCLICK public void onClick View arg0 camera tak
  • 使用多线程的JPA持久化

    当我尝试使用持久化对象时遇到问题多线程 细节 假设我有一个对象PaymentOrder其中有一个列表PaymentGroup 一对多关系 和PaymentGroup包含一个列表CreditTransfer 再次是一对多关系 由于数量Cred
  • Keras ValueError:尝试将模型加载到另一个平台时未知层:名称

    我在 Nvidia Quadro 板上使用 Keras 2 2 4 训练了一个卷积神经网络 我已将经过训练的模型保存在两个单独的文件中 一个文件 model json 描述架构 另一个文件 model h5 包含所有权重 我想在运行 Ker
  • 从一系列繁忙时间范围中获取可用时间范围

    假设你有一个数组BUSY会议的时间范围 start 9 00 AM end 10 00 AM start 12 00 PM end 2 00 PM start 5 00 AM end 7 00 PM 我想得到一组回报可用的24 小时范围内的
  • ModelForm 中 FileField 上传的进度条 (Django)

    我正在寻找一些实现文件上传进度条的指针 该进度条提供有关 ModelForm 内 FileField 上传当前状态的反馈 我的 ModelForm 有很多字段 不仅仅是 FileField 我想用进度条显示进度的实时反馈 Thanks 这是
  • IVY Build,如何在项目中使用extlib目录?

    有几个 jar 文件 它们来自我们保存在项目根目录下的项目 extlib 文件夹中的 COTS 产品 我想将这些包含在 ivy 中 但不放入存储库中 只需从 project extlib 文件夹中读取 这是可能的还是我需要将它们添加到工件中
  • 有没有什么解决方案可以在模拟器(Android)中运行Google Plus Posting(分享互动帖子)

    我正在 Android 应用程序中集成 Google Plus 但是在模拟器中的 Google Plus 上共享帖子时遇到了问题因为It requires Google Plus installed on Emulator 但我们无法在模拟
  • 无法扩展 F# 中的运算符?

    module FSharp let Point2d x y Point2d x y let Point3d x y z Point3d x y z type NXOpen Point3d with static member p Point
  • python 不释放文件句柄到日志文件

    我有一个必须运行多次模拟的应用程序 我想设置一个日志记录机制 其中所有日志记录都记录在general log中 并且模拟运行的所有日志都转到run00001 log 为此 我定义了一个类Run 在里面 init 为运行日志添加了一个新的文件
  • 在R中删除多列

    我有一个数据框 df 其列名称从 m1 到 m100 我想删除 m50 到 m100 范围内的列 有没有比硬编码更快的方法 df lt subset df cohort select c M50 M51 M52 M53 M100 使用 dp
  • 如何从 UIWebView 中删除链接?

    我在 iPhone 应用程序上使用 UIWebView 如何删除ios自己放置的链接 例如 我有一些双重值 ios 认为它 是一个电话号码并突出显示它 我尝试禁用 xib 文件中的用户交互 没有帮助 有人能帮我吗 In the 在 html
  • 使用 lambda 进行 winforms 事件有什么问题吗?

    这是一个非常简单的问题 我之所以这么问 是因为我以前从未见过它 这让我怀疑是否有什么问题 comboBox1 MouseEnter a b gt comboBox1 Focus campaignDataGridView MouseEnter
  • 如何根据根据条件重置的累积总和进行分组

    我有一个 pandas df 其字数与文章相对应 我希望能够添加另一列MERGED这是基于具有最小累积和 min words 的文章组 df pd DataFrame 0 6 1 10 3 5 4 7 5 26 6 7 9 4 10 133
  • Quicksight 自定义查询 postgresql 函数

    我正在尝试创建一个用于 Quicksight 分析的数据集 我正在 Postgresql 数据源上使用自定义查询 每当我在查询中使用 Postgresql 函数时就会出现问题 事实上 相同的查询确实适用于 IntelliJ DataGrip
  • 如何使用 Selenium WebDriver 检查单选按钮是否被选中?

    div class my account module content h3 class my account module content title Mi Direcci n 1 br span Predeterminada span
  • Python/Pandas - ValueError:索引包含重复条目,无法重塑

    我有一个名为 bal 的数据框 它看起来像这样 ano id unit period business id 9564 2012 302 sdasd anual 9564 2011 303 sdasd anual 2361 2013 304