如何重新索引 pandas 数据透视表

2023-12-25

我创建了一个数据透视表,该表根据其中一列和时间索引的月份进行分组。

这是数据透视表

                    AWRT       AWFT       AWDT
Time     type                                 
April    All   38.190119  65.789103  27.598984
         DHW   19.676627  60.889196  41.212569
         SH    47.342757  61.335566  13.992809
February All   43.896487  57.982944  14.086457
         SH    40.864670  50.567133   9.702463
March    All   42.083836  69.139818  27.055982
         DHW   18.908873  62.936898  44.028024
         SH    52.249342  70.013904  17.764563

现在我希望二月、三月和四月按时间顺序出现,而不是按字母顺序排列

尝试以这种方式重新索引:

new_index=[['February', 'March', 'April'], ['All', 'DHW', 'SH']]
df1=df1.reindex(new_index)

我得到以下内容,它不再是数据透视表:

        AWRT       AWFT       AWDT
Time     type                                 
February All   43.896487  57.982944  14.086457
March    DHW   18.908873  62.936898  44.028024
April    SH    47.342757  61.335566  13.992809

我还尝试直接访问数据透视表索引的标签,但我被告知这些标签是不可变的。

在此先感谢您的帮助


Reindex only相关级别(level=0):

import pandas as pd

idx = pd.MultiIndex(levels=[['April', 'February', 'March'], ['All', 'DHW', 'SH']],
                    labels=[[0, 0, 0, 1, 1, 2, 2, 2], [0, 1, 2, 0, 2, 0, 1, 2]],
                    names=['Time', 'type'])
df = pd.DataFrame([[38.190119, 65.789103, 27.598984],
                   [19.676627, 60.889196, 41.212569],
                   [47.342757, 61.335566, 13.992809],
                   [43.896487, 57.982944, 14.086457],
                   [40.864670, 50.567133, 9.702463],
                   [42.083836, 69.139818, 27.055982],
                   [18.908873, 62.936898, 44.028024],
                   [52.249342, 70.013904, 17.764563]],
                  columns=['AWRT', 'AWFT', 'AWDT'],
                  index=idx)

print(df)

#                     AWRT       AWFT       AWDT
# Time     type                                 
# April    All   38.190119  65.789103  27.598984
#          DHW   19.676627  60.889196  41.212569
#          SH    47.342757  61.335566  13.992809
# February All   43.896487  57.982944  14.086457
#          SH    40.864670  50.567133   9.702463
# March    All   42.083836  69.139818  27.055982
#          DHW   18.908873  62.936898  44.028024
#          SH    52.249342  70.013904  17.764563

print(df.reindex(['February', 'March', 'April'], level=0))

#                     AWRT       AWFT       AWDT
# Time     type                                 
# February All   43.896487  57.982944  14.086457
#          SH    40.864670  50.567133   9.702463
# March    All   42.083836  69.139818  27.055982
#          DHW   18.908873  62.936898  44.028024
#          SH    52.249342  70.013904  17.764563
# April    All   38.190119  65.789103  27.598984
#          DHW   19.676627  60.889196  41.212569
#          SH    47.342757  61.335566  13.992809
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新索引 pandas 数据透视表 的相关文章

随机推荐

  • 如何用 Jest 模拟/替换对象的 getter 函数?

    在Sinon我可以做以下事情 var myObj prop foo sinon stub myObj prop get function getterFn return bar myObj prop bar 但我怎样才能对 Jest 做同样
  • 究竟什么是“执着无明”?

    持久性无知通常被定义为持久和检索标准 NET 对象 或 POCO 如果您确实坚持给它们命名 的能力 还有一个标准 NET 对象的定义似乎已被广泛接受 http msdn microsoft com en us magazine dd8825
  • 在javascript中获取div位置(顶部)?

    我使用 css 设置了一个 div 的高度top 26px 我在其他地方还有其他 div 我想与该 div 保持一致 我注意到jquery写作 css top 获取我的 css 而不是 div 的 y 坐标 如何使用 javascript
  • Hibernate 不等于示例标准

    Hibernate 有示例标准 例如 Example equal Example create mydbObject 有没有办法反其道而行之 例如 Example notEqual Example createNotEqual mydbOb
  • 如何在 SBT 中刷新更新的 Git 依赖项?

    我已经配置了 SBT 0 11 0 以将 GitHub 项目作为依赖项拉入 按照我的回答这个问题在这里 https stackoverflow com questions 7550376 how can sbt pull dependenc
  • 在AWS CDK中执行代码之前如何等待堆栈完成?

    我正在尝试 AWS CDK 但当我尝试执行依赖于堆栈完成的代码块时 我陷入了困境 这是我当前的代码 class Application extends cdk Construct constructor scope cdk Construc
  • 如何编写一个函数来比较多组布尔(真/假)答案并对其进行排名?

    我已经开始了一个项目 事实证明它比我最初想象的要复杂得多 我正在尝试规划一个基于布尔 真 假 问题和答案的系统 系统上的用户可以回答大量布尔 真 假 问题中的任何问题 并根据他们的答案看到一个显示最相似用户 按相似度顺序排列 的列表 我在谷
  • 静态容器已经有一个与之关联的内核

    部署到 Azure 时出现与 Ninject 相关的错误 The static container already has a kernel associated with it 但在本地运行良好 而且之前它一直在本地和 Azure 上运行
  • Python 中的 Webdriver 屏幕截图

    使用python在windows上使用Selenium Webdriver进行屏幕截图时 屏幕截图直接保存到程序的路径中 有没有办法将 png文件保存到特定目录 Use driver save screenshot path to file
  • 允许用户选择图像的相机或图库

    我想做的事情看起来很简单 但经过几天的搜索 我不太明白 我有一个应用程序 允许用户选择多个 最多 5 个 图像 我正在使用一个ImageView 当用户点击ImageView 我想让他们选择 从图库中选择图像 或 使用相机捕捉图像 我开始使
  • 拉伸div以填充body

    div style height 20px background color red div div style background color black div div style height 20px background col
  • Spark 客户端模式 - YARN 为驱动程序分配容器?

    我在客户端模式下在 YARN 上运行 Spark 因此我希望 YARN 仅为执行器分配容器 然而 从我所看到的来看 似乎还为驱动程序分配了一个容器 并且我没有得到与预期一样多的执行程序 我正在主节点上运行 Spark Submit 参数如下
  • JSTL 表达式语言访问对象属性

    我今天正在学习一个教程 这个教程让我摸不着头脑一个小时 考虑 public class MyClass public int getTotal amount 100 return amount 以及 JSP 的摘录 p Total obje
  • 万智牌数据库设计

    我想为我拥有的 MTG 卡创建一个数据库 设计会是什么样的 我想存储每张卡的以下信息 1 Name of card 2 Set the card belongs to 3 Condition of card 4 Price it sold
  • 位图插值c#

    网格尺寸 160 160 行数 列数 16 16 我为此创建了一个位图 网格的每个单元格都填充有不同的颜色 我需要执行颜色插值 我猜您想要执行以下操作 拍摄 16x16 像素图像并将其插值为 160x160 像素图像 以下是三个示例输出 您
  • 实现WebView数据库配额委托

    我如何实现这个方法 见下文 我是 Objective C 的新手 我只是不太了解它 From http lists apple com archives Webkitsdk dev 2008 Apr msg00027 html http l
  • 确定将在 php 中发送的 http 状态

    我正在尝试为管理应用程序标头的类编写一个测试用例 它发送的标头中有 http 状态标头 我正在使用 headers list 来查看将发送哪些标头 如果我现在发送标头的话 headers list 的问题是它不包含 http 状态标头 尽管
  • 为什么 lapply() 不保留我的 data.table 键?

    我的列表中有一堆 data tables 我要申请unique 到我的列表中的每个 data table 但这样做会破坏我的所有 data table 键 这是一个例子 A lt data table a rep c a b each 3
  • 这两组陈述之间的确切区别是什么?

    Set
  • 如何重新索引 pandas 数据透视表

    我创建了一个数据透视表 该表根据其中一列和时间索引的月份进行分组 这是数据透视表 AWRT AWFT AWDT Time type April All 38 190119 65 789103 27 598984 DHW 19 676627