python 如何在数据框中执行以下操作

2024-01-05

df1 = pd.DataFrame({
                   'Year': ["1A", "2A", "3A", "4A", "5A"],
                    'Tval1' : [1, 9, 8, 1, 6],
                    'Tval2' : [34, 56, 67, 78, 89]
})

它看起来更像这样

我想更改它,使其看起来像这样,第二列移动到单独的行下方。


想法是从中获取数字Year列,然后设置新的列名称Year列并重塑DataFrame.stack http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.stack.html:

df1['Year'] = df1['Year'].str.extract('(\d+)')
df = df1.set_index('Year')

#add letters by length of columns, working for 1 to 26 columns A-Z
import string

df.columns = list(string.ascii_uppercase[:len(df.columns)])

#here working same like
#df.columns = ['A','B']

df = df.stack().reset_index(name='Val')
df['Year'] = df['Year'] + df.pop('level_1')
print (df)
  Year  Val
0   1A    1
1   1B   34
2   2A    9
3   2B   56
4   3A    8
5   3B   67
6   4A    1
7   4B   78
8   5A    6
9   5B   89

另一个想法是DataFrame.melt http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.melt.html:

df = (df1.replace({'Year': {'A':''}}, regex=True)
        .rename(columns={'Tval1':'A','Tval2':'B'})
        .melt('Year'))
df['Year'] = df['Year'] + df.pop('variable')
print (df)
  Year  value
0   1A      1
1   2A      9
2   3A      8
3   4A      1
4   5A      6
5   1B     34
6   2B     56
7   3B     67
8   4B     78
9   5B     89
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 如何在数据框中执行以下操作 的相关文章

  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • Scrapy 文件管道不下载文件

    我的任务是构建一个可以下载所有内容的网络爬虫 pdfs 在给定站点中 Spider 在本地计算机和抓取集线器上运行 由于某种原因 当我运行它时 它只下载一些但不是全部的 pdf 通过查看输出中的项目可以看出这一点JSON 我已经设定MEDI
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • 如何知道python运行脚本的路径?

    sys arg 0 给我 python 脚本 例如 python hello py 返回 sys arg 0 的 hello py 但我需要知道 hello py 位于完整路径中的位置 我怎样才能用Python做到这一点 os path a
  • 如何从 python 脚本执行 7zip 命令

    我试图了解如何使用 os system 模块来执行 7zip 命令 现在我不想用 Popen 或 subprocess 让事情变得复杂 我已经安装了 7zip 并将 7zip exe 复制到我的用户文件夹中 我只想提取我的测试文件 inst
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • Python在没有pandas的情况下解码excel表

    我正在尝试在 python 中读取 excel 文件而不使用pandas or xlrd 我一直在尝试将结果转换为bytes to utf 8没有任何成功 xls 文件中的数据 colA colB colC spc 1D0 20190705
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • 获取多个同名请求参数

    我的问题是给定的代码 from flask import Flask request app Flask name app route def hello return str request values get param None a
  • 如何将 URL 添加到 Telegram Bot 的 InlineKeyboardButton

    我想制作一个按钮 可以从 Telegram 聊天中在浏览器中打开 URL 外部超链接 目前 我只开发了可点击的操作按钮 update message reply text Subscribe to us on Facebook and Te
  • 在Python中使用pil读取tif图像时出现值错误?

    我必须读取尺寸的tif图像2200 2200并输入 uint16 我将 PIL 库与 anaconda python 一起使用 如下所示 from PIL import Image img Image open test tif img i
  • Spark 数据帧:根据另一列的值提取一列

    我有一个包含带有连接价目表的交易的数据框 paid currency EUR USD GBP 49 5 EUR 99 79 69 客户已支付 49 5 欧元 如 货币 列中所示 我现在想将支付的价格与价目表中的价格进行比较 因此 我需要根据
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 如何将两列 pandas Dataframe 移动并堆叠为一列?

    我有一个下面提到的数据框 ETHNIC SEX USUBJID 0 HISPANIC OR LATINO F 16 1 HISPANIC OR LATINO M 8 2 HISPANIC OR LATINO Total 24 3 NOT H
  • AWS 将 MQTT 消息存储到 DynamoDB

    我构建了一个定期发送 MQTT 消息的 python 脚本 这是发送到后端的 JSON 字符串 Id 1234 Ut 1488395951 Temp 22 86 Rh 48 24 在后端 我想将 MQTT 消息存储到 DynamoDB 表中
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan

随机推荐

  • 如何进入 CoreDNS pod kubernetes?

    我有一个正在运行的 k8s 集群 其中包含两个 CoreDNS 副本 但是当我尝试输入 POD 的 bash 提示符时 它向我抛出以下错误 kubectl exec it coredns 5644d7b6d9 285bj n kube sy
  • joomla(2.5)系统插件安装时加载语言文件

    在安装系统插件 在 Joomla 2 5 中 期间 我很难显示本地化字符串 xml 文件中本地化字符串的 正常 方式似乎不起作用 请参阅另一个问题 基于语言的安装描述 https stackoverflow com questions 11
  • 如何跨应用程序限制内容提供商数据

    我们如何确保某些应用程序无法访问存储在内容提供商中的我的数据 而某些其他应用程序可以访问该数据 基本上 我需要允许我感兴趣的某些应用程序访问存储在内容提供程序中的数据 但我不希望所有应用程序都能够访问该数据 我怎样才能实现这个目标 Than
  • 获取代码点的所有 Unicode 别名

    The charnames https metacpan org pod charnames杂注提供charnames viacode返回给定代码点的 最佳 名称 例如 perl Mcharnames full E say charname
  • 使用插件系统的 Netbeans 平台应用程序

    我正在编写一个 Netbeans 平台应用程序 我想在该应用程序处于开发状态时将其提供给客户 并且每当特定模块有更新时 我想以客户可以使用 netbeans 插件更新程序来更新模块的方式处理它 因此 我将获得一台服务器来托管不同的模块 签署
  • (iphone)将子视图的框架设置在超级视图的边界之外?

    我注意到我可以将子视图放置在超级视图的边界之外 部分或全部 我想知道这是否可以接受 因为这在通常的 iPhone 视图编程中似乎是不正常的 谢谢 这是可以接受的 有时甚至是常见的做法 例如 滚动视图或其他 复合 视图的自定义实现通常会将对象
  • 在Python中对多维数组进行排序的适当数据结构?

    我有各种字符串 单词 的三个数值 权重 计数 贡献 我想将它们组织成一个多维数组 然后进行排序 为此 我在字典中创建了列表 其中数值位于列表中 字符串是键 print dictionary word weight count contrib
  • 编写自己的异步方法

    我想知道如何以 正确 的方式编写自己的异步方法 我看过很多解释异步 等待模式的帖子 如下所示 http msdn microsoft com en us library hh191443 aspx http msdn microsoft c
  • 什么是域错误

    在 C 中 有一个 域错误 的基类 std domain error 我不明白在什么情况下我应该在代码中抛出域错误 所有其他异常基类都非常不言自明 我很确定 std domain error 本身与互联网域名无关 因此请解释域错误是什么类别
  • 如何用intellij中的空格序列替换文件中的所有制表符?

    给定项目中的一个文件 我希望能够用空格替换文件中的所有制表符 intellij 有什么办法可以做到这一点吗 转到编辑 转换缩进 然后分别选择 到空格 或 到制表符 它在文档中 改变缩进 http www jetbrains com idea
  • Python 是否内置了针对特殊字符和/或标点符号的字符串验证?

    Python 有str isalnum str isdigit str isupper str islower str isalpha 但是它是否有任何内置的字符串验证检查特殊字符或标点符号 即 等 标准string模块提供string p
  • 如何以编程方式获取Linux进程的堆栈起始地址和结束地址?

    对于单线程程序 我想检查给定的虚拟地址是否在进程的堆栈中 我想在用 C 编写的进程中执行此操作 我正在考虑读书 proc self maps找到标记为 stack 的行 以获取进程堆栈的开始和结束地址 思考这个解决方案让我产生了以下问题 p
  • java系统范围的键盘和鼠标状态

    有没有办法在系统范围内侦听鼠标和键盘事件 而不将它们从系统队列中取出 例如 有没有办法设置一个恶魔 比如说 它会监听并报告每个键盘和鼠标事件 使用纯Java 是不可能的 但是您可以使用 JNI Java 本机接口 它适用于用 C 编写并本机
  • UPDATE 语句包含在 IF EXISTS 块中

    我正在尝试编写一个更新列的 DML 脚本 但我想确保该列首先存在 因此我将其包装在 IF EXISTS 块中 IF EXISTS SELECT FROM INFORMATION SCHEMA COLUMNS WHERE TABLE NAME
  • 如果消息被编辑,防咒骂系统将不起作用

    基本上 如果您说了一些不是脏话的内容 但随后将消息编辑为脏话 机器人将不会检测到它 我该如何解决 这是我的代码 client event async def on message message if message author bot
  • 通过选择散点图上的点来更新虚线表

    我正在制作仪表板 这是我的代码 IMPORT SECTION import dash import dash table import dash core components as dcc import dash html compone
  • 非静态类与静态类相比有哪些优点?

    非静态类与静态类相比有哪些优点 静态类不需要实例化 所以我们可以直接使用ClassName MemberName 那么非静态类有什么用呢 静态类与非静态类基本相同 但有一个区别 静态类不能被实例化 换句话说 不能使用new关键字来创建类类型
  • Sublime Text 3 上的 Python 3.4

    我按照以下步骤在 Sublime Text 3 上运行 Python 3 选择菜单 工具 gt 构建 gt 新建构建系统 我输入了以下内容 cmd python3 file selector source python file regex
  • 显示同一类方法的已弃用警告

    使用 eclipse 我希望尽快看到警告any我使用的方法标记为 Deprecated 如果是这样 方法调用将被正确划掉 但如果该方法源自同一个类 则 Eclipse 不会发出警告 请参阅下面的屏幕截图 为了更好地重现 我还将提供文本形式的
  • python 如何在数据框中执行以下操作

    df1 pd DataFrame Year 1A 2A 3A 4A 5A Tval1 1 9 8 1 6 Tval2 34 56 67 78 89 它看起来更像这样 我想更改它 使其看起来像这样 第二列移动到单独的行下方 想法是从中获取数字