Python Pandas:转置还是堆栈?

2023-12-12

您好,我下面有一个示例数据框。我无法通过转置获得所需的结果......

x = ('P', 'P', 'O', 'DNP', 'D')
y = ('O', 'O', 'D', 'DNP', 'DNP')
z = ('P', 'P', 'O', 'U', 'DNP')
a = ('O', 'O', 'D', 'DNP', 'DNP')
b = ('P', 'DNP', 'O', 'U', 'DNP')
ID = ['ID1', 'ID2', 'ID3', 'ID4', 'ID5']
df = DataFrame(zip(ID, a, b, x, y, z), columns = ['id', 'a', 'b', 'x', 'y', 'z'])

    id    a    b    x    y    z
0  ID1    O    P    P    O    P
1  ID2    O  DNP    P    O    P
2  ID3    D    O    O    D    O
3  ID4  DNP    U  DNP  DNP    U
4  ID5  DNP  DNP    D  DNP  DNP

一个简单的 df.transpose() 产生......

0    1    2    3    4
id  ID1  ID2  ID3  ID4  ID5
a     O    O    D  DNP  DNP
b     P  DNP    O    U  DNP
x     P    P    O  DNP    D
y     O    O    D  DNP  DNP
z     P    P    O    U  DNP

期望的输出如下......

   ID1    a    O
   ID1    b    P
   ID1    x    P
   ID1    y    O
   ID1    z    P
   ID2    a    O
   ID2    b    DNP
   ID2    x    P
   ID2    y    O
   ID2    z    P

等等......我感谢任何帮助!


你可以使用pd.melt:

In [23]: pd.melt(df, id_vars=['id'], var_name='colvals', value_name='DOPU')
Out[23]: 
     id colvals DOPU
0   ID1       a    O
1   ID2       a    O
2   ID3       a    D
...
21  ID2       z    P
22  ID3       z    O
23  ID4       z    U
24  ID5       z  DNP

或者,您也可以设置id作为调用前的索引stack:

In [21]: df.set_index('id').stack()
Out[21]: 
id    
ID1  a      O
     b      P
     x      P
     y      O
     z      P
...         
ID5  a    DNP
     b    DNP
     x      D
     y    DNP
     z    DNP
dtype: object

stack将列级别值移动到索引中。既然想要的结果 有id索引中的值也是如此,很自然地使用set_index移动 这id先将列放入索引,然后再调用stack.


Call reset_index将索引级别移动到 DataFrame 列中:

In [164]: df.columns.name = 'colvals'
In [165]: df.set_index('id').stack().reset_index()
Out[165]: 
     id colvals    0
0   ID1       a    O
1   ID1       b    P
2   ID1       x    P
3   ID1       y    O
4   ID1       z    P
...
20  ID5       a  DNP
21  ID5       b  DNP
22  ID5       x    D
23  ID5       y  DNP
24  ID5       z  DNP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pandas:转置还是堆栈? 的相关文章

  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 使用 Python pandas 计算调整后的成本基础(股票买入/卖出的投资组合分析)

    我正在尝试对我的交易进行投资组合分析 并尝试计算调整后的成本基础价格 我几乎尝试了一切 但似乎没有任何效果 我能够计算调整后的数量 但无法获得调整后的购买价格有人可以帮忙吗 这是示例交易日志原始数据 import pandas as pd
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 您可以将操作直接应用于map/reduce/filter 中的参数吗?

    map and filter通常可以与列表理解互换 但是reduce并不那么容易被交换map and filter 此外 在某些情况下我仍然更喜欢函数语法 但是 当您需要对参数本身进行操作时 我发现自己正在经历语法体操 最终必须编写整个函数
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • python 递归获取文件

    我有一个文件夹结构 我正在使用 os walk path 从 test 文件夹中获取所有文件 我想要除文件夹 B 及其内部文件之外的所有文件 测试 根文件夹 t1 txt t2 txt A f txt B f1 txt C f4 txt l
  • 如何使用 Java 加载图像并向其中写入文本?

    我的 java 项目中有一个位于 images image png 的图像 我想写一个方法 其签名如下 byte mergeImageAndText String imageFilePath String text Point textPo
  • iText 7 - 最后一页上的页脚不同 - PdfDictionary 中的空指针

    我正在尝试在中实现页脚iText7 文档最后一页的页脚应该不同 我添加了一个事件处理程序 该事件处理程序在文档关闭时调用 但尝试循环页面会导致空指针异常 java lang NullPointerException at com itext
  • 从数据框创建汇总统计表

    我有以下 5 个变量的 29 个观察值的数据框 df age height seca1 height chad1 height DL weight alog1 1 19 1800 1797 180 70 2 19 1682 1670 167
  • Rx.NET:按顺序组合可观察量

    我有2个IConnectableObservable其中一个正在重播旧的历史消息 另一个正在发出新的当前值 HistoricObservable 1 2 3 4 5 6 7 8 CurrentObservable 5 6 7 8 9 10
  • org.xml.sax.SAXParseException:解析 XML 时出现意外标记

    Update 看来我必须提供返回 xml 的 URL 这里是 URL 解析 xml 时出现 SAXParseException 我试图解析的 xml 如下
  • 如何判断一个类是否继承自 NSObject (Objective-C)

    我正在 iPhone 上使用 Objective C 需要知道 类 是否继承自 NSObject 我尝试检查它是否响应 NSObject 选择器 bool success myClass respondsToSelector selecto
  • PHP无法上传文件到服务器?

    我有一个 php 文件 它将 jpegs 和 png 等图像上传到一个名为 uploads 的文件夹中 该文件夹存储在 apache 服务器上 并且与 php 文件位于同一位置 我检查了 HTML 和 PHP 的代码 两者似乎都很好 但是每
  • 使用 Python 数值求解 ODE

    我正在使用 Python 数值求解谐振子的 ODE 当我添加驱动力时 它没有任何区别 所以我猜测代码有问题 任何人都可以看到问题吗 这 h m f0 np cos wd i 部分是动力 import numpy as np import m
  • Visual Studio Express 版本的 Wix 项目模板?

    是否可以在 Express 版本中使用 Wix 我对 2010 2012 版本感兴趣 我知道我可以从命令行使用蜡烛和光 但我对与 IDE 集成感兴趣 VS 的 Express 版本不允许使用必要的插件来扩展 VS 所以你必须继续使用命令行
  • 为什么淡入淡出过渡不适用于共享元素

    我有 2 个 Activity 共享元素转换工作正常 变化范围是唯一应用的过渡 我想在共享元素移动时应用淡入淡出过渡 因此排序为 ORDERING TOGETHER public class TransitionUtils public s
  • 如何使用 Dropwizard 测试 HMAC 身份验证?

    我刚刚开始使用 Dropwizard 0 4 0 我需要一些有关 HMAC 身份验证的帮助 有人有什么建议吗 先感谢您 目前 Dropwizard 不支持开箱即用的 HMAC 身份验证 因此您必须编写自己的身份验证器 HMAC 身份验证的典
  • 使用 jQuery noconflict 与两个版本的 jQuery

    问题是 如果你想在页面上使用 otherLibrary 必须是 otherLibrary 的 而不是 jQuery 的 由于 无论如何只是 jQuery 的别名 因此 jQuery 提供了 noConflict 函数作为告诉 jQuery
  • 字符串过滤器:检测非 ASCII 符号

    我正在创建一个应用程序 它将输入字符串发送到移动设备 有些设备在编码特殊字符方面存在问题 因此我想创建一个过滤器 不允许 PC 上的用户输入特殊字符 该应用程序是用 C NET 3 5 编写的 我想将一个方法附加到按键事件 伪代码如下 pr
  • MySQL my.cnf 文件 - 找到没有前面组的选项

    我正在尝试远程连接到 Ubuntu 中的数据库 但在尝试时收到错误消息mysql u root p 在配置文件中找到没有前面组的选项 etc mysql my cnf 第 1 行 my cnf 看起来像 mysqld user mysql
  • 我的 Recyclerview 没有显示任何内容

    我想将 mysql 数据库中的项目显示到我的 recyclerview 但我不知道为什么它不显示任何内容 回收者视图
  • java.library.path 中没有 swt-mozilla-gtk-4332

    有关新信息 请参阅底部的更新 我有一个包含集成浏览器的 Java SWT 应用程序 在 Windows 和 CENTOS 6 5 上一切正常 我被要求让该应用程序在安装了 CENTOS 7 的新计算机上运行 我不断收到 no swt moz
  • 导入多个文件并提取 r 中的特定列

    我有 20 个数据文件 txt 我的最终目标是从每 20 个文件中选择一个特定列 比方说 V3 并创建一个新文件 我试过 temp lt list files pattern snp blp 我如何从每 20 个文件中提取 V3 并在 r
  • 从 WPF RichTextBox 获取 FontWeight/FontStyle/TextDecorations

    如何检测 WPF RichTextBox 中光标位置的当前文本格式 该帖子的作者还询问了有关 TextDecorations 的问题 您没有提供示例代码及其使用方法的不同 我将其发布为进一步的解决方案 var obj myText GetP
  • Python Pandas:转置还是堆栈?

    您好 我下面有一个示例数据框 我无法通过转置获得所需的结果 x P P O DNP D y O O D DNP DNP z P P O U DNP a O O D DNP DNP b P DNP O U DNP ID ID1 ID2 ID3