使用枢轴重新排序多索引数据框

2023-12-21

我有一个数据框 df1 ,如下所示:

df1 = pd.DataFrame({'ID': [1,2,3,4,5,6],
                       'date': [1, 1, 1, 2, 2, 2],
                       'p_id': [1, 2, 3, 1, 2, 3],
                        '9h30': [0.11,0.12,0.13,0.14,0.15,0.16],
                        '9h35': [0.21,0.22,0.23,0.24,0.25,0.26],
                        '9h40': [0.31,0.32,0.33,0.34,0.35,0.36]})
df1.set_index('ID', inplace=True)

    9h30  9h35  9h40  date  p_id
ID                              
1   0.11  0.21  0.31     1     1
2   0.12  0.22  0.32     1     2
3   0.13  0.23  0.33     1     3
4   0.14  0.24  0.34     2     1
5   0.15  0.25  0.35     2     2
6   0.16  0.26  0.36     2     3

如果我使用df2 = df.pivot(index='p_id', columns='date')我得到 df2 :

      9h30        9h35        9h40      
date     1     2     1     2     1     2
p_id                                    
1     0.11  0.14  0.21  0.24  0.31  0.34
2     0.12  0.15  0.22  0.25  0.32  0.35
3     0.13  0.16  0.23  0.26  0.33  0.36

但这并不完全是我想要的 df3:

date         1                 2
      9h30  9h35  9h40  9h30  9h35  9h40
p_id                                    
1     0.11  0.21  0.31  0.14  0.24  0.34
2     0.12  0.22  0.32  0.15  0.25  0.35
3     0.13  0.23  0.33  0.16  0.26  0.36

有没有办法只用枢轴直接产生这个输出? 如果没有,您能告诉我您将如何有效地做到这一点吗? 谢谢。


我想你需要swaplevel http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.swaplevel.html + sort_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html:

df2 = df2.swaplevel(0,1, axis=1).sort_index(axis=1)
print (df2)
date     1                 2            
      9h30  9h35  9h40  9h30  9h35  9h40
p_id                                    
1     0.11  0.21  0.31  0.14  0.24  0.34
2     0.12  0.22  0.32  0.15  0.25  0.35
3     0.13  0.23  0.33  0.16  0.26  0.36
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用枢轴重新排序多索引数据框 的相关文章

  • Pygame 让精灵按照给定的旋转行走

    很久以前我做了一个Scratch脚本 我想用Pygame将其转换为Python 有很多示例显示图像的旋转 但我想知道如何更改精灵的旋转以使其沿给定方向移动 而不更改图像 这是我的暂存代码 这是我的 Pygame 精灵类 class Star
  • Seaborn regplot 中点和线的不同颜色

    中列出的所有示例西伯恩的regplot文档 https seaborn pydata org generated seaborn regplot html点和回归线显示相同的颜色 改变color争论改变了两者 如何为点设置与线不同的颜色 你
  • python blpapi安装错误

    我试图根据 README 中的说明为 python 安装 blpapi 3 5 5 但是在运行时 python setup py install 我收到以下错误 running install running build running b
  • 更改 numpy 数组的结构强制给定值

    如何缩小栅格数据的比例4 X 6大小成2 X 3如果 2 2 像素内的任何元素包含 1 则大小强制选择 1 否则选择 0 import numpy as np data np array 0 0 1 1 0 0 1 0 0 1 0 0 1
  • 类型错误:translate() 只接受一个参数(给定 2 个参数)[重复]

    这个问题在这里已经有答案了 我的代码在 python 2 x 版本上运行良好 但是当我尝试在 python 3 x 版本上运行它时 出现错误 主题 需要缩写短信编码中的任何消息 Code def sms encoding data star
  • 如何在seaborn中绘制离散变量的分布图

    当我画画的时候displot对于离散变量 分布可能不像我想象的那样 例如 We can find that there are crevices in the barplot so that the curve in kdeplot is
  • 将相同的 Patch 实例添加到 matplotlib 中的多个子图中

    我正在尝试将补丁的相同实例添加到 matplotlib 中的多个轴 这是最小的例子 import matplotlib pyplot as mpl plt import matplotlib patches as mpl patches f
  • 监控培训课程如何运作?

    我试图理解使用之间的区别tf Session and tf train MonitoredTrainingSession 以及我可能更喜欢其中之一 似乎当我使用后者时 我可以避免许多 杂务 例如初始化变量 启动队列运行程序或设置文件编写器以
  • 如何在每次运行 python 程序时添加新列

    我希望我的表的第一列作为卷号 第二列作为名称 每当我运行 python 程序时 我想在表中添加一列日期 在这个新列中 我想填充从 user list 获得的列表将包含值 P A P P 等 如何处理 我尝试首先通过 alter 命令添加一列
  • Scapy:如何将新层(802.1q)插入现有数据包?

    我有一个数据包转储 想要将 VLAN 标记 802 1q 标头 注入到数据包中 怎么做 为了找到答案 我查看了Scapy 插入新层和记录问题 https stackoverflow com q 17259592 1381638 这确实很有帮
  • 将带有 md5 消息摘要和 DESede/CBC/PKCS5Padding 的 3DES 加密的 java 代码转换为 python

    我有这个工作java代码 它使用3DES加密对密码进行加密 import java security MessageDigest import java util Arrays import java util Base64 import
  • telethon 库:如何通过电话号码添加用户

    我正在研究 Telegram 的 Telethon 库 它可以使用 Telegram API 充当 Telegram 客户端 重要提示 这是电报客户端 API https core telegram org telegram api 而不是
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 在 Python 中将嵌套字典位置作为参数传递

    如果我有一个嵌套字典 我可以通过索引来获取键 如下所示 gt gt gt d a b c gt gt gt d a b c 我可以将该索引作为函数参数传递吗 def get nested value d path a b return d
  • 如何在自定义 django 命令中抽象出命令代码

    我正在我的应用程序下编写自定义 django 命令management commands目录 目前我在该目录中有 6 个不同的文件 每个文件都有不同的命令来解决独特的需求 然而 有一些实用程序是它们所共有的 抽象出这些公共代码的最佳方法是什
  • 使用 conda 安装额外功能

    With pip我们可以使用方括号安装子包 例如与阿帕奇气流 https pythonhosted org airflow installation html pip install airflow all 有类似的东西吗conda或者我必
  • 向结构化 numpy 数组添加字段

    将字段添加到结构化 numpy 数组的最简洁方法是什么 是否可以破坏性地完成 或者是否有必要创建一个新数组并复制现有字段 每个字段的内容是否连续存储在内存中 以便可以有效地完成此类复制 如果您使用 numpy 1 3 还有 numpy li
  • datetime strftime 不输出正确的时间戳

    下列 gt gt gt from dateutil parser import parse gt gt gt parse 2013 07 02 00 00 00 0000 datetime datetime 2013 7 2 0 0 tzi
  • 如何输入可变的默认参数

    Python 中处理可变默认参数的方法是将它们设置为无 https stackoverflow com a 366430 5049813 例如 def foo bar None bar if bar is None else bar ret
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color

随机推荐

  • jquery获取矩形宽度和高度传单

    我有一张地图和一个区域选择字段 initialize map var map L map map setView 38 0 2 L tileLayer http s tile cloudmade com 70146506bc514228ad
  • 使用 Python BaseHTTPServer 处理同时/异步请求

    我通过创建一个继承自 HTTPServer 和 ThreadingMixIn 的类来设置一个线程 使用 Python 线程 HTTP 服务器 class ThreadedHTTPServer ThreadingMixIn HTTPServe
  • 获取 Git 分支大小

    我正在尝试跟踪我正在进行的项目的规模 有没有一种简单的方法来获取不同分支的磁盘上的存储库大小 I tried git count objects v 但它为每个分支提供相同的存储库大小 With Git 2 31 Q1 2021 git r
  • 你使用ant的任务吗?

    The ant 任务的文档 http ant apache org manual Tasks depend html states 依赖任务的性能为 取决于许多因素 例如 作为类关系的复杂性和 有多少类文件已过期 关于是否是的决定 重新编译
  • 通过 jQuery 附加 HTML 字符串

    我想使用 jQuery 附加生成以下 HTML 字符串 手动编写代码对我来说看起来太麻烦了 div div
  • Eclipse:Spring bean 和上下文的开放声明/资源

    在观看我的一位同事使用 IntelliJ 工作时 我很嫉妒地注意到他可以在 Java 注释或 Spring 上下文文件中按住 Ctrl Command Click 的 Spring bean 上下文或资源的名称 并且 IntelliJ 将打
  • 在 matplotlib 中使用标量可映射的颜色编码

    is a subplot I created using matplotlib Is it possible to code the colors on the basis of a pre defined range I want to
  • 子进程和父进程ID

    只是与子进程块中的父 pid 值混淆了 我的程序如下 int main int argc char argv pid t pid pid fork if pid 1 perror fork failure exit EXIT FAILURE
  • 如何解决 npm 安装错误“npm ERR!代码1”

    我正在尝试安装Gulp js https en wikipedia org wiki Gulp js当我写的时候npm install我得到这个问题 npm ERR code 1 npm ERR path D www wegrow node
  • 在c中执行汇编代码

    我想知道是否有办法调用 c汇编代码 我想将此代码放入我的 c 文件中 我想在 c 文件中执行的汇编代码以返回地址 1 mov eax 0x2d 2 mov ebx 0 3 int 0x80 我知道答案是放eax 这是 c 文件的一部分 1
  • 如何使用 win32com 退出 Excel,而不保存?

    当我执行xl Quit 时 Excel总是弹出提示询问我是否要保存 如何告诉它我不想保存 xl Dispatch Excel Application xl Workbooks Open New Workbook xlsx do some s
  • 使用属性文件的 log4j 的多个过滤器

    我正在尝试使用此配置过滤日志消息 我假装忽略包含文本的消息Could not refresh JMS Connection for destination以及那些包含org apache activemq transport failove
  • 以 C# 形式创建 Windows 10 透明度效果

    如何创建在 Windows 10 中看到的透明效果 像这样的事情 我不知道如何在 C 中解决这个问题 从逻辑上讲 每次表单进入焦点时我都会拍摄桌面快照 然后对其进行模糊处理并将其放置在 0 0 屏幕到客户端坐标 处 这似乎不太有效 有什么帮
  • 为什么 NuGetPack 响应“无法创建没有依赖项或内容的包”

    我正在尝试使用以下蛋糕脚本 Task Create NuGet Packages IsDependentOn Build WithCriteria gt DirectoryExists parameters Paths Directorie
  • 如何在android中动态设置谷歌地图上的缩放级别?

    面临在 Android 谷歌地图中设置动态缩放级别的问题 就像在地图应用程序 android 的系统应用程序 中做的那样 我使用了下面的地图方法 mGoogleMap moveCamera CameraUpdateFactory newLa
  • 应用程序中的 UTC 时间相关问题(C#、ASP.NET 和 SQL)

    我正在开发一款与销售和采购报告相关的应用程序 我正在使用该采购和销售报告的数据生成图表 采购订单和销售订单的创建日期是相对于 UTC 5 30 时间的 即该时间适用于印度孟买 场景 1 假设这是一个场景 目前这个应用程序在印度用于这个场景
  • 未达到 OpenIdConnectEvents.OnTokenValidated

    使用asp net core 2 2 我的启动中有以下内容 我到达 OnRedirectToIdentityProvider 断点 然后到达 appsettings CallbackPath 中的相对路径 但我没有到达 OnTokenVal
  • 将第一个和第二个单词包裹在 span 类 PHP 中

    我正在使用 php 自生成的导航 我需要将第一个和第二个单词包装在单独的 div 类中 例如 li span First span span class word Second span Word li 目前我可以使用将第一个单词包装在跨度
  • SourceTree 中的壁球

    是否可以在 SourceTree 中进行压缩 我看到显然你可以 拖放 提交来压缩它们 然而 当我这样做时 它只会突出显示几个提交 更新答案 Windows 源树 从 1 5 版本开始 http blog sourcetreeapp com
  • 使用枢轴重新排序多索引数据框

    我有一个数据框 df1 如下所示 df1 pd DataFrame ID 1 2 3 4 5 6 date 1 1 1 2 2 2 p id 1 2 3 1 2 3 9h30 0 11 0 12 0 13 0 14 0 15 0 16 9h