python/pandas - 将列标题转换为索引

2024-05-07

我必须处理的数据将每小时数据视为列。我想将其转换为索引。示例如下所示:

 year    month    day    1    2    3    4    5    ...   24
 2015      1       1     a    b   ...................    c
 2015      1       2     d    e   ...................    f
 2015      1       3     g    h   ...................    i

我想让输出文件像这样:

 year    month    day   hour value
 2015      1       1     1     a  
 2015      1       1     2     b 
  .        .       .     .     . 
 2015      1       1     24    c 
 2015      1       2     1     d
  .        .       .     .     . 

目前使用 python 3.4 和 pandas 模块


Use set_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.set_index.html with stack http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.stack.html:

print (df.set_index(['year','month','day'])
         .stack()
         .reset_index(name='value')
         .rename(columns={'level_3':'hour'}))

   year  month  day hour value
0  2015      1    1    1     a
1  2015      1    1    2     b
2  2015      1    1   24     c
3  2015      1    2    1     d
4  2015      1    2    2     e
5  2015      1    2   24     f
6  2015      1    3    1     g
7  2015      1    3    2     h
8  2015      1    3   24     i

另一种解决方案是melt http://pandas.pydata.org/pandas-docs/stable/generated/pandas.melt.html and sort_values http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html:

print (pd.melt(df, id_vars=['year','month','day'], var_name='hour')
         .sort_values(['year', 'month', 'day','hour']))

   year  month  day hour value
0  2015      1    1    1     a
3  2015      1    1    2     b
6  2015      1    1   24     c
1  2015      1    2    1     d
4  2015      1    2    2     e
7  2015      1    2   24     f
2  2015      1    3    1     g
5  2015      1    3    2     h
8  2015      1    3   24     i
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python/pandas - 将列标题转换为索引 的相关文章

  • 操作错误:(sqlite3.OperationalError) SQL 变量太多,同时将 SQL 与数据帧一起使用

    我有一个熊猫数据框 如下所示 activity User Id 0 VIEWED MOVIE 158d292ec18a49 1 VIEWED MOVIE 158d292ec18a49 2 VIEWED MOVIE 158d292ec18a4
  • 父子进程之间的通信

    我正在尝试创建一个具有一个或多个子进程的 Python 3 程序 父进程生成子进程 然后继续处理自己的业务 有时我想向特定的子进程发送一条消息 由其捕获该消息并采取行动 此外 子进程在等待消息时需要处于非锁定状态 它将运行自己的循环来维护服
  • 带表格格式的 Matplotlib 条形图

    我在图的底部添加了一个表格 但它存在许多问题 右边的内边距太多了 左边的填充太少 底部没有填充物 单元格对于其中的文本来说太小 该表距离图的底部太近 属于行名称的单元格的颜色未与条形图的颜色相匹配 我要发疯了 去摆弄这个 有人可以帮我解决这
  • QDataWidgetMapper;将 TableWidget 映射到模型

    我没有找到任何文档显示 QDataWidgetMapper 实际上适用于哪些小部件 也没有找到任何使用 QTableWidget 进行映射的实现 它绝对适用于 QLineEdit 和 QComboBoxes 它们是输入小部件 但是是否可以映
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 我可以在我的机器上同时安装 python 2.7 和 3.5 的tensorflow吗?

    目前我通过 Anaconda 在我的机器 MAC OX 上安装了 Python 2 7 Python 3 5 Tensorflow for Python 3 5 我也想在我的机器上安装 Tensorflow for Python 2 7 当
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 从节点列表中提取边和社区

    我的数据集有超过 50k 个节点 我试图从中提取可能的边缘和社区 我确实尝试使用一些图形工具 如 gephi cytoscape socnet nodexl 等来可视化和识别边缘和社区 但节点列表对于这些工具来说太大了 因此 我正在尝试编写
  • Pandas - 使用 .isnull()、notnull()、dropna() 删除丢失数据的行不起作用

    这实在是太奇怪了 我尝试了几种从 pandas 数据框中删除丢失数据的行的方法 但它们似乎都不起作用 这是代码 我只是取消注释所使用的方法之一 但这些是我在不同修改中使用的三种方法 这是最新的 import pandas as pd Tes
  • 在Python中,如何将矩阵逆时针旋转90度?

    gt gt gt def rotate matrix k List List int For example if I have m 1 2 3 2 3 3 5 4 3 rotate matrix m should give me 3 3
  • scipy.optimize on pandas dataframe

    我试图搜索它 但结果很差 有人可以向我解释一下如何在 Pandas DataFrame 上执行 optimize minimize 以便最小化 DataFrame 中的类别和结果列之间的错误 考虑这个例子 import pandas as
  • 将 Python Pandas DataFrame 写入 Word 文档

    我正在努力创建一个使用 Pandas DataFrames 的 Python 生成的报告 目前我正在使用DataFrame to string 方法 但是 这会作为字符串写入文件 有没有办法让我实现这一目标 同时将其保留为表格 以便我可以使
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 如何获取分类数据的分组条形图

    I have a big dataset with information about students And I have to build a graph of dependencies between different value
  • 无法让gunicorn使用Python 3

    我有 Ubuntu NGINX Gunicorn 以及可与 Python 3 设置配合使用的虚拟环境 但我的 Flask 应用程序仍然以 2 7 6 运行 我已系统地按照说明进行操作 但找不到解决方案 Gunicorn 配置文件 progr
  • 如何使用 enumerate 来倒数?

    letters a b c 假设这是我的清单 在哪里for i letter in enumerate letters 将会 0 a 1 b 2 c 我怎样才能让它向后枚举 如 2 a 1 b 0 c 这是一个很好的解决方案并且工作完美 i
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 如何同时接受int和float类型的输入?

    我正在制作一个货币转换器 如何让 python 同时接受整数和浮点数 我就是这样做的 def aud brl amount From to ER 0 42108 if amount int if From strip aud and to

随机推荐

  • Asp.Net Web 服务:我想返回错误 403 禁止

    我有一个用 c asp net 编程的网络服务 WebService Namespace http example com WebServiceBinding ConformsTo WsiProfiles BasicProfile1 1 S
  • 如何在 Windows 7 中模拟内存不足的情况

    我有一个用 C 编写的应用程序 运行良好 但有时在现场会出现错误 我们认为这些错误是由于内存不足或与垃圾收集器的交互造成的 如果有人感兴趣 这里有描述 无法将 NHibernate Impl ExpandedQueryExpression
  • 字符集和排序规则到底是什么意思?

    我可以阅读MySQL文档而且非常清楚 但是 如何决定使用哪种字符集呢 校对对什么数据有影响 我要求解释这两者以及如何选择它们 来自 MySQLdocs http dev mysql com doc refman 5 0 en charset
  • 为什么 mmap 在 iOS 上失败?

    我正在尝试使用 mmap 在 iOS 上读取和播放音频文件 它适用于最大约 400MB 的文件 但当我尝试 500MB 文件时 出现 ENOMEM 错误 char path NSBundle mainBundle pathForResour
  • 如何在android studio中使用maven

    我想用底部栏 https github com roughike BottomBar我的项目中的库 当我添加正确的gradle命令在build gradle文件和sync 我收到此错误 Failed to resolve com rough
  • MediaStream 未处理的承诺拒绝:[object DOMError](在 Safari 11 中)

    在下面初始化 WebRTC 的方法中 我在 Safari Tech Preview 11 中遇到了未处理的承诺拒绝 具体来说 当我分配MediaStream像这样的视频元素 video srcObject event stream 堆栈跟踪
  • C++ 递归变量

    我想我的问题真的很简单 但我现在尝试解决它几个小时 但我似乎不明白 我有一个 ast 树 用 boost library 创建 并通过递归迭代它 我将所有节点保存在 NodeDescriptions 列表中 其中包含实际节点的编号 实际节点
  • 如何在 Rails 2 中正确使用 OmniAuth

    我正在尝试为我的应用程序使用 OmniAuth 0 2 6 策略 架构为 Rails 2 3 10 Rack 版本为 1 1 OmniAuth 需要此版本或更高版本 出现的问题是 Rails 无法识别我重定向到 auth provider
  • python字典应该如何存储在pytables中?

    pytables 本身不支持 python 字典 我处理它的方法是创建以下形式的数据结构 tables dict key tables StringCol itemsize 40 value tables Int32Col 请注意 我确保键
  • 如何检测C中的ESC键?

    我写了一段代码来检测箭头键使用 getch 我也希望检测 esc 键 但我实际上不知道我应该使用哪些数字 因此不胜感激 include
  • 当我使用 yymore() 时,在 EOF 处出现 Flex 错误“缓冲区末尾丢失”

    我正在编写一个 Flex 程序来处理字符串常量 当输入文件在字符串中遇到 EOF 时 我想返回一个 ERROR 标记 文件遇到 EOF 并打印 ERROR 后出现以下错误 致命的 Flex 扫描仪内部错误 缓冲区末尾丢失 这是我的代码 可以
  • 如何使用代理将 boost::asio 连接到 HTTPS 服务器?

    在我们的应用程序中 我们使用 boost asio 来使用 HTTP 和 HTTPS 进行连接 我们还可以使用 HTTP 代理 现在我需要使用代理添加对 HTTPS 服务器的支持 我研究了相当多的样本 发现所需的步骤似乎是 创建到代理的 H
  • Webpack 5 - 资产模块 - 缺少 url-loader 功能 - postTransformPublicPath

    我想按照建议切换到 webpack 5 asset 模块 不幸的是我错过了 webpack url loader 的函数 postTransformPublicPath path any gt any 由于我们应用程序的结构 资产的公共区域
  • 从 Spring Boot 发送推送通知

    我有一个 springboot 应用程序 托管在我自己的家庭服务器上 我也有 sql 数据库设置 对于前端 我计划使用 android 进行初始测试阶段 然后将其转移到 flutter 我想知道如何将通知从 Spring Boot 发送到前
  • Mono switchIfEmpty() 总是被调用

    我有两个方法 主要方法 PostMapping login public Mono
  • BaseSpider 和 CrawlSpider 的区别

    我一直在尝试理解在网页抓取中使用 BaseSpider 和 CrawlSpider 的概念 我已阅读docs http doc scrapy org en latest topics spiders html但没有提及BaseSpider
  • 在 Openshift 上阻止 https

    我想在 Openshift 上取消 https 我刚刚知道服务器返回一个强制使用 https 的标头 Strict Transport Security 无论如何 我可以在使用 Openshift 时强制使用 http 因为我在使用 chr
  • Flutter中是否可以使用FCM实现通知分组/捆绑?

    我尝试像这样实现群组通知Android 群组通知 https developer android com training notify user group and iOS群组通知 https developer apple com vi
  • Angular 5 ng-pick-datetime 日期格式

    我在 NgModule 中提到了 ng pick datetime 5 1 5 提供 OWL DATE TIME LOCALE useValue en SG 对于日期格式 当我们直接从触发器打开日历时就可以了 但如果直接与输入框交互然后打开
  • python/pandas - 将列标题转换为索引

    我必须处理的数据将每小时数据视为列 我想将其转换为索引 示例如下所示 year month day 1 2 3 4 5 24 2015 1 1 a b c 2015 1 2 d e f 2015 1 3 g h i 我想让输出文件像这样 y