熊猫爆炸 - 无法从重复轴重新索引

2024-03-12

假设我有一个数据框df:

   C1      C2      C3      C4               C5
0  [A]     [1]     s1      [123]            t1  
1  [A]     [1]     s2      321              t2
2  [A,B]   [1,2]   s3      [777,111]        t3
3  [B]     [2]     s4      145              t4
4  [B]     [2]     s5      [990]            t5
5  [A,B,B] [1,2,2] s6      [124,125,765]    t6
6  [A,A]   [1,3]   s7      119              t7

我想把一切都炸掉 所以我一直在做

df = df.apply(pd.Series.explode)

然而,这给了我ValueError: cannot reindex from a duplicate axis。我已将罪魁祸首追溯到第 6 行(最后一行)df。当我之前把东西放进去的时候我就明白了C1与里面的长度不一样C2。但我不明白爆炸最后一行有什么问题。

If I do pd.DataFrame([[['A','B'],[1,2],'s7',119,'t7']]).apply(pd.Series.explode(),它工作正常,并且按预期给出了以下内容:

   C1      C2      C3      C4         C5
0  A        1      s7      119        t7  
1  A        3      s7      119        t7

我不明白为什么最后一行是整个数据框的一部分时会导致错误。我检查了索引,它都是唯一的。


边走边清理,效果很好。

df = pd.DataFrame({'C1': [["A"], ["A"], ["A","B"], ["B"], ["B"], ["A","B","B"], ["A","A"]],
 'C2': [[1], [1], [1,2], [2], [2], [1,2,2], [1,3]],
 'C3': ['s1', 's2', 's3', 's4', 's5', 's6', 's7'],
 'C4': [[123], 321, [777,111], 145, [990], [124,125,765], 119],
 'C5': ['t1', 't2', 't3', 't4', 't5', 't6', 't7']})

df.explode("C1").reset_index().drop("index",1).explode("C2").reset_index()\
    .drop("index",1).explode("C4").reset_index().drop("index",1)


output

  C1 C2  C3   C4  C5
0  A  1  s1  123  t1
1  A  1  s2  321  t2
2  A  1  s3  777  t3
3  A  1  s3  111  t3
4  A  2  s3  777  t3
5  A  2  s3  111  t3
6  B  1  s3  777  t3
7  B  1  s3  111  t3
8  B  2  s3  777  t3
9  B  2  s3  111  t3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫爆炸 - 无法从重复轴重新索引 的相关文章

  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 尝试从网页Python和BeautifulSoup获取编码

    我试图从网页检索字符集 这会一直改变 目前我使用 beautifulSoup 来解析页面 然后从标题中提取字符集 这工作正常 直到我遇到一个网站 到目前为止 我的代码以及与其他页面一起使用的代码是 def get encoding soup
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 将 C++ 指针作为参数传递给 Cython 函数

    cdef extern from Foo h cdef cppclass Bar pass cdef class PyClass cdef Bar bar def cinit self Bar b bar b 这总是会给我类似的东西 Can
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 从 pyspark.sql 中的列表创建数据框

    我完全陷入了有线的境地 现在我有一个清单li li example data map lambda x get labeled prediction w x collect print li type li 输出就像 0 0 59 0 0
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 仅当某些值相等时,如何才能将一个文本文件中的值替换为另一个文本文件中的其他值?

    我有一个名为finalscores txt我想创建一个 python 脚本 它将打开它并从两个单独的列中读取值 这是我的finalscores txt file Atom nVa predppm avgppm stdev delta QPr
  • NumPy 相当于 Keras 函数 utils.to_categorical

    我有一个使用 Keras 进行机器学习的 Python 脚本 我正在构建 X 和 Y 它们分别是特征和标签 标签的构建方式如下 def main depth 10 nclass 101 skip True output True video
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 将字符串中的随机字符转换为大写

    我尝试随机附加文本字符串 这样就不只是有像这样的输出 gt gt gt david 我最终会得到类似的东西 gt gt gt DaViD gt gt gt dAviD 我现在的代码是这样的 import random import stri
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

    尝试加载自定义数据以在 Scikit 中执行 NB 分类 需要帮助将示例数据加载到 Scikit 中 然后执行 NB 如何加载目标的分类值 使用相同的数据进行训练和测试 或使用完整的数据集进行测试 Sl No Member ID Membe
  • Python 中的 Unix cat 函数 (cat * > merged.txt)? [复制]

    这个问题在这里已经有答案了 一旦建立了目录 有没有办法在Python中使用Unix中的cat函数或类似的函数 我想将 files 1 3 合并到 merged txt 我通常会在 Unix 中找到该目录 然后运行 cat gt merged

随机推荐

  • 第一次机会例外

    我有一个在windows xp下完美运行的项目 现在我尝试在Windows 7下运行它 并在立即窗口下出现很多异常 A first chance exception of type System ArgumentNullException
  • 通话结束后回拨? (恢复 AVCaptureSession)

    我有一个摄像机应用程序 我希望它允许用户在打电话时捕捉内容 我可以通过在接到电话且会话中断时断开音频捕获来做到这一点 但由于会话不再中断 我现在无法知道电话何时结束并且可以重新连接音频设备 如果我使用这个回调AVCaptureSession
  • Haskell Thrift 库在性能测试中比 C++ 慢 300 倍

    我正在构建一个包含两个组件的应用程序 用 Haskell 编写的服务器和用 Qt C 编写的客户端 我正在使用 thrift 来传达它们 我想知道为什么它运行得这么慢 我做了性能测试 这是我机器上的结果 Results C server a
  • 如何以最佳 K 来排列(切割)树状图

    如何在树状图中画一条线对应最佳K对于给定的标准 像这样 假设这是我的树状图 最佳 K 是 4 data mtcars myDend lt as dendrogram hclust dist mtcars plot myDend 我知道abl
  • 使用 etags 进行 s3 流式传输(节点)

    我们正在使用节点中的 S3 流式传输内容createReadStream 在 aws sdk 中 我们想添加 etag 支持 如果我们从客户端添加 If None Match 标头 s3 会抛出 NotModified 作为我似乎无法处理的
  • “长”数据类型的用途是什么?

    我已经用 C 编程有一段时间了 我对大部分内容都非常熟悉 我从未理解的一件事是 长 数据类型 我用谷歌搜索了它 但我仍然不知道它是做什么用的 我发现一些页面说它与 int 具有相同的大小和相同的范围 那么使用它有什么意义呢 我在这里发现了另
  • 如何更改闪亮的小部件颜色

    使用闪亮的小部件画廊 http shiny rstudio com gallery widget gallery html作为参考 我想知道是否可以更改小部件的配色方案 具体来说 虽然有些似乎继承了 css 主题元素 但有些 例如 slid
  • cypress 登录后等待重定向

    我正在使用 cypress 测试一个网络应用程序 我登录我的beforeEach功能 然后 在我的不同测试中 我开始cy visit mysite com url 我的问题是登录后 网站重定向到网站的特定页面 此重定向发生在cy visit
  • JavaScript:如何在正则表达式中使用(反引号)`?

    在 JavaScript 中 如何在正则表达式中使用反引号 示例代码 xtype textfield regex a zA Z0 9 s u0060 反引号没有特殊含义 你可以用它作为 它会工作得很好
  • pip freeze 捕获包名称,就好像它位于 python 索引站点上一样,但事实并非如此。需要完整路径

    我从github安装了一个包 pip install e git http github com un33k django uuslug git egg django uuslug 然后我做了 pip freeze gt req txt I
  • Android 4.0内核源代码? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以获得 Android 4 0 冰淇淋三明治 kernel源代码 虽然这可能是一些人以前问过的一
  • DisplayAttribute.GroupName 属性的用途是什么?

    我正在尝试找出的有效用法显示属性 组名 http msdn microsoft com en us library system componentmodel dataannotations displayattribute groupna
  • 开发 iPhone 应用程序时,配置文件有何用途?

    配置配置文件的用途是什么 为什么在开发 iPhone 应用程序时需要它 如果我没有配置文件 会发生什么 引用自 iPhone 开发者计划 https developer apple com programs information Appl
  • C# 本身是否使用 GPU 进行图形处理?

    我想以最快的方式绘制频繁使用的图形 如果我使用标准 C 图形回调 es graphics drawline 我这样做对吗 或者我应该使用不同的库 图形 DrawLine https msdn microsoft com en us libr
  • 使用android下载文件

    我正在尝试将文件从网络保存到我的 Android 设备 但我不知道该怎么做 URL 地址会打开一个空白页面和一个弹出下载框 其中包含我要下载的文件 以便我可以选择保存位置 我的问题是我不知道如何管理该框以下载文件 我不想下载该页面上显示的内
  • php 像 UTC 一样编译欧洲/柏林时区

    今天我一直在努力解决一个奇怪的问题 由于某种原因 我的服务器假装时区 欧洲 柏林 是 UTC 应该是 UTC 1 例如 如果我将时区设置为 欧洲 布鲁塞尔 它会正确转换时间 我创建了一些虚拟代码来测试我的服务器和在线编译器 当编译器工作时
  • 如何使用 glDrawTex*

    我想拍摄一张 png 图像并将其用作 GLView 的背景 我听说 glDrawTex 是最好的方法 但我在互联网上搜索过 但没有找到一个如何使用它的示例 至少没有一个对我有用 有什么帮助吗 虽然OES draw texture 扩展 ht
  • 在 botframework 网络聊天中发送消息(来自建议)后,如何清除聊天输入框?

    我正在使用 React js 和 botframework 网络聊天开发一个机器人应用程序 问题是我想在发送消息后清除文本输入框 从发送消息的位置 这是从建议中选择的 建议列表 或自动完成组件 是自定义编码的列表 我的意思是 如果我输入 h
  • 以一种形式以编程方式发送多个文件输入字段

    我正在尝试使用blueimp jQuery 文件上传 https github com blueimp jQuery File Upload插件以编程方式通过同一表单发送多个文件输入字段 当用户选择表单文件时 它只是将它们附加到 JS 变量
  • 熊猫爆炸 - 无法从重复轴重新索引

    假设我有一个数据框df C1 C2 C3 C4 C5 0 A 1 s1 123 t1 1 A 1 s2 321 t2 2 A B 1 2 s3 777 111 t3 3 B 2 s4 145 t4 4 B 2 s5 990 t5 5 A B