Pandas 通过元组重命名多索引的单行

2023-12-01

我试图通过它的元组重命名 pandas 数据框的单行。

例如:

import pandas as pd
df = pd.DataFrame(data={'i1':[0,0,0,0,1,1,1,1],
                       'i2':[0,1,2,3,0,1,2,3],
                       'x':[1.,2.,3.,4.,5.,6.,7.,8.],
                       'y':[9,10,11,12,13,14,15,16]})
df.set_index(['i1','i2'], inplace=True)

创建 df:

         x   y
i1 i2         
0  0   1.0   9
   1   2.0  10
   2   3.0  11
   3   4.0  12
1  0   5.0  13
   1   6.0  14
   2   7.0  15
   3   8.0  16

我希望能够使用类似的东西:df.rename(index={(0,1):(0,9)},inplace=True) to get:

         x   y
i1 i2         
0  0   1.0   9
   9   2.0  10 <-- new key
   2   3.0  11
   3   4.0  12
1  0   5.0  13
   1   6.0  14
   2   7.0  15
   3   8.0  16

该命令执行时不会引发错误,但返回相同的 df 不变。

这也返回相同的 df:df.rename(index={pd.IndexSlice[0,1]:pd.IndexSlice[0,9]},inplace=True)

这将接近预期的效果:

df.loc[(0,9),:] = df.loc[(0,1),:]
df.drop(index=(0,1),inplace=True)

但如果行排序很重要,那么将其调整为正确的顺序将是一件很痛苦的事情,而且如果 df 变大,速度可能会很慢。

我正在使用 Pandas 1.0.1,python 3.7。有什么建议么?先感谢您。


列表理解的可能解决方案和MultiIndex.from_tuples:

L = [(0,9) if x == (0,1) else x for x in df.index]
df.index = pd.MultiIndex.from_tuples(L, names=df.index.names)
print (df)
         x   y
i1 i2         
0  0   1.0   9
   9   2.0  10
   2   3.0  11
   3   4.0  12
1  0   5.0  13
   1   6.0  14
   2   7.0  15
   3   8.0  16
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 通过元组重命名多索引的单行 的相关文章

  • 查找数据集中的异常值

    我有一个 python 脚本 它创建服务器正常运行时间和性能数据列表的列表 其中每个子列表 或 行 包含特定集群的统计信息 例如 格式良好的它看起来像这样 Cluster Availability Requests Sec Errors S
  • 使用不带引号的块样式的 Python YAML 转储

    如何使用 PyYAML 加载和转储 YAML 以便它尽可能地使用原始样式 我有 Python 来加载和转储 YAML 数据 例如 import sys import yaml def represent dictorder self dat
  • Python TypeError:不支持的操作数类型 -:“int”和“function”

    我是 Python 初学者 正在做一项作业 我不断得到TypeError unsupported operand type s for int and function 即使在研究了错误并应用了建议的修复之后 我并不是在寻找任何人给我一个解
  • Django表单中的隐藏字段不在cleaned_data中

    我有这个表格 class CollaboratorForm forms Form user forms CharField label Username max length 100 canvas forms IntegerField wi
  • Django CollectStatic 启动大文件上传时管道损坏

    我正在尝试使用collectstatic将静态文件上传到我的S3存储桶 但我收到一个700k javascript文件的管道损坏错误 这就是错误 Copying Users wedonia work asociados server aso
  • 为什么Flask后台线程获取错误的数据库信息?

    为了将实时数据库信息推送到客户端 我在服务器端使用flask socketio 通过使用websocket将所有实时数据库信息推送到客户端 我的视图文件有一个片段 from models import Host from flask soc
  • 并行执行按位运算的代码

    我有这段代码 通过将该 AU 矩阵的每个字节 8 个元素打包到 A 中来减少内存消耗 从而使 100k 200k 矩阵占用更少的空间 正如您所期望的 这段代码需要永远运行 我也计划将行数增加到 200k 我正在一个非常强大的实例 CPU 和
  • 如果每个元组中的第二项重复,如何从元组列表中删除元素?

    如果每个元组中的第二项重复 如何从元组列表中删除元素 例如 我有一个按第一个元素排序的列表 如下所示 alist 0 7897897 this is a foo bar sentence 0 653234 this is a foo bar
  • 映射 2 个数据帧并替换目标数据帧中匹配值的标头

    我有一个数据框 df1 SAP Name SAP Class SAP Sec Avi 5 C Rison 6 A Slesh 7 B San 8 C Sud 7 B df2 Name Fi Class Avi 5 Rison 6 Slesh
  • 如何在 Google App Engine (Python) 中定义配置变量/常量?

    我是 python GAE 的新手 想知道如何快速定义和使用全局设置变量 所以说你 git 克隆我的 GAE 应用程序 然后打开config yaml 添加更改设置 应用程序就全部连接起来 如下所示 config yaml or whate
  • 在Python中将月份和年份的列合并为季度和年份的列

    我有一个数据框 df Month 1 8 Year 2015 2020 df pd DataFrame data df df 想要将其转变为新列 期望的输出 df Month 1 8 Year 2015 2020 Quarter Q1201
  • 使用 SQLAlchemy 查询 Pandas DataFrame 时重命名列

    当您将数据查询到 pandas 数据帧时 有没有办法保留 SqlAlchemy 属性名称 这是我的数据库的简单映射 对于 school 表 我将数据库名称 SchoolDistrict 重命名为较短的 district 我从 DBA 中删除
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • python请求ssl握手失败

    每次我尝试这样做 requests get https url 我收到这条消息 import requests gt gt gt requests get https reviews gethuman com companies Trace
  • 如何隐藏 Tkinter python Gui

    有人知道如何隐藏 python GUI Tkinter 我已经创建了键盘记录器 对于 GUI 我使用了 python 模块 Tkinter 我想添加名为 HIDE 的按钮 因此当用户单击它时 它将隐藏 GUI 当用户按下 CTRL E 之类
  • 如何使用 opencv python 根据检测到的物体的位置生成其热图

    我需要根据对象的位置生成其热图 示例 视频帧中检测到的绿色球 如果它长时间停留在某个位置 那么该位置应该是红色的 并且球在短时间内经过的帧中的位置必须是蓝色的 这样我就需要生成热图 提前致谢 那么你在这里可以做的是 1 首先定义一个热图作为
  • Python pandas:向我的数据框中添加一列来计算变量

    我有一个像这样的数据框 gt org group org1 1 org2 1 org3 2 org4 3 org5 3 org6 3 我想将列 count 添加到 gt 数据帧以计算组的成员数量 预期结果如下 org group count
  • Maya python 连接选择的属性

    我一直在尝试制作一个简单的脚本 它将采用两个视口选择 然后基本上将第二个视口的旋转连接到第一个 我不确定如何正确地从视口选择中为对象创建变量 这是我的尝试 但不起作用 import maya cmds as cmds sel cmds ls
  • 如何限制单元测试的最大运行时间?

    我目前正在运行一些单元测试 这些测试可能需要很长时间才能失败或无限期地运行 在成功的测试运行中 它们总是会在一定的时间内完成 是否可以创建一个 pytest 单元测试 如果在一定时间内未完成 该测试就会失败 您可以安装 pytest tim
  • 获取 Flask 中没有端口的请求主机名

    我刚刚设法使用 Flask 获取我的应用程序服务器主机名request host and request url root 但这两个字段都返回请求主机名及其端口 我想使用仅返回请求主机名的字段 方法 而无需进行字符串替换 如果有 没有 We

随机推荐

  • C# MySQL 连接过多

    我试着跑SELECT在桌子上MySql我收到此错误 Server Error in MyApp Application Too many connections Description An unhandled exception occu
  • 逐字突出显示表格中的文本,而不是整个范围

    我想为 html 表创建过滤器 例如网站 ctrl f 但当前代码突出显示搜索输入单个单词时的所有范围 无需任何插件 就像下图一样 Html表格过滤 search keyup function console log this val if
  • 如何使用 FFMpeg -timestamp 语法

    Hi All ffMpeg timstamp 选项是否像上图一样工作 07 21 54 07 07 05 黑盒容器中的白色文本 在 ubuntu 12 04 中 像这样输入执行 ffmpeg y f video4linux2 s vga r
  • 在 Excel 中每 X 行插入行

    我有一长串代码 例如 008 45 等 需要多行文本来解释它们 我有代码列表 我想知道如何自动插入一行 例如第五行 下面的例子 1 2 3 4 5 6 7 8 9 10 100 每五行我想插入给定数量的我选择的行 我怎样才能做到这一点 谢谢
  • 如何将 Java 8 LocalDateTime 与 JPA 和 Hibernate 结合使用

    我有以下类描述片段 Column name invalidate token date Temporal TemporalType TIMESTAMP private LocalDateTime invalidateTokenDate 此代
  • 使用 PHP 脚本运行 shell 命令

    我正在使用 CodeIgniter 创建应用程序 但无法使用 PHP 脚本运行 Linux 命令 如何运行终端命令 我试过了shell exec and exec 但是在使用 CI 时两者都不起作用 这取决于您的服务器配置 如果这些功能被禁
  • QMainWindow 在 show() 之后立即关闭

    我是 Qt 新手 主要使用 Objective C 所以我遇到了可能是新手问题 来自QDialog我尝试打开的窗口QMainWindow像这样 this gt close SQLWindow window window receivePat
  • 使用 python requests 模块在单个请求中上传多个文件

    蟒蛇请求模块提供了有关如何在单个请求中上传单个文件的良好文档 files file open report xls rb 我尝试使用此代码来扩展该示例 以尝试上传多个文件 files file open report xls rb open
  • 如何使用 CAPI 的 CryptImportKey 和来自 OpenSSL 的 PEM 编码公钥?

    如何获取 Microsoft 的 CryptoAPICryptImportKey函数导入一个PEM编码密钥 它确实有效 但是CryptDecrypt返回错误 1 Generate a Public Private RSA key pair
  • 使用 CSS 从中间展开 div,而不是仅从顶部和左侧展开

    我不确定这是否可行 但我认为使用 CSS 转换来创建 div 从其中心扩展到预定高度和宽度 而不仅仅是从左上角 的效果会很酷 例如 如果我有 demo div div 和 为简洁起见 省略了供应商前缀 square width 10px h
  • VS2015 尝试运行应用程序时出错:无效指针

    当您调试 Visual Studio 2015 解决方案时 您会看到以下错误消息 尝试运行应用程序时出错 指针无效 显然有些东西配置不正确 或者与权限相关 只是想知道是否有人已经找出原因 根据杰里米的建议 我查看了活动日志 有关活动日志的信
  • 将数据库从资产复制到数据库文件夹[重复]

    这个问题在这里已经有答案了 在主要活动中 我有一个方法可以从assets to the databases文件夹 try CHECK IS EXISTS OR NOT SQLiteDatabase dbe SQLiteDatabase op
  • 使用 ComboBox 将 DataGridView 绑定到 DataTable 不起作用

    我正在尝试创建一个绑定到 DataTable 的 DataGridView 其中一列是 ComboBox 代码运行 但在绑定后 不是在绑定数据时 出现以下错误 System ArgumentException DataGridViewCom
  • 如何在 OData C# 驱动程序中支持嵌套开放复杂类型?

    我在 NET Web Api 项目中使用以下 C OData 包 安装包 Microsoft AspNet OData安装包 Microsoft AspNet WebApi OData 当遵循微软的例子时在 OData v4 中使用开放类型
  • ASPX 中的动态页面呈现

    我对 C 和 NET 非常陌生 我发现自己面临着一个问题 并且不确定我需要朝哪个方向前进 我的公司与第三方订阅履行系统合作以实现许多功能 包括计费和续订 该系统能够在触发某些事件时自动发送电子邮件 例如 每个订阅都会经历我们所说的续订系列
  • 无法在钛中运行应用程序

    我是新手Titanium 我已经安装了Titanium on my windows基于笔记本电脑 还进口的Kitchen Sink在工作室中应用它 我已经设置了所有path变量也是最新的Android SDK 我还更改了运行配置日志等 但是
  • 查找数组的子键中存在的键?

    如何检查数组的子键中是否存在某个键 如果找到该项目的密钥 然后返回该项目 例如 我有这个数组 Array 0 gt Array a gt Array quantity request gt 1 time created gt 1339688
  • 将 MxN 二维数据点数组重新组织为 N 维数组

    我在二维数组中进行了一系列测量 例如 T mu1 mu2 mu3 a b c d e 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • TCL 中解析参数的包

    有谁知道 tcl 可以轻松解析输入参数的标准包吗 或者准备好的程序 我只有 3 个标志 但一般的标志更好 The 文档包括一个例子 这是一个简单的例子 package require cmdline set parameters serve
  • Pandas 通过元组重命名多索引的单行

    我试图通过它的元组重命名 pandas 数据框的单行 例如 import pandas as pd df pd DataFrame data i1 0 0 0 0 1 1 1 1 i2 0 1 2 3 0 1 2 3 x 1 2 3 4 5