使用 Pandas 连接交替行的数据帧

2023-12-12

我有两个数据框df1 and df2定义如下:

df1          df2
Out[69]:     Out[70]:
   A  B         A  B
0  2  a      0  5  q
1  1  s      1  6  w
2  3  d      2  3  e
3  4  f      3  1  r

我的目标是通过交替行来连接数据帧,以便生成的数据帧如下所示:

dff
Out[71]: 
   A  B
0  2  a <--- belongs to df1
0  5  q <--- belongs to df2
1  1  s <--- belongs to df1
1  6  w <--- belongs to df2
2  3  d <--- belongs to df1
2  3  e <--- belongs to df2
3  4  f <--- belongs to df1
3  1  r <--- belongs to df2

如您所见,dff 的第一行对应于 df1 的第一行,dff 的第二行对应于 df2 的第一行。该模式重复直至结束。

我尝试使用以下代码行来实现我的目标:

import pandas as pd

df1 = pd.DataFrame({'A':[2,1,3,4], 'B':['a','s','d','f']})
df2 = pd.DataFrame({'A':[5,6,3,1], 'B':['q','w','e','r']})

dfff = pd.DataFrame()
for i in range(0,4):
    dfx = pd.concat([df1.iloc[i].T, df2.iloc[i].T])
    dfff = pd.concat([dfff, dfx])

然而这种方法行不通,因为df1.iloc[i]和 df2.iloc[i] 自动重新整形为列而不是行,我无法恢复该过程(即使使用.T).

Question:您能否建议我一种良好而优雅的方式来实现我的目标?

Optional:您还能解释一下如何将列转换回行吗?


我无法对已接受的答案发表评论,但请注意,默认情况下排序操作不稳定,因此您必须选择稳定的排序算法。

pd.concat([df1, df2]).sort_index(kind='merge')

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Pandas 连接交替行的数据帧 的相关文章

随机推荐

  • Pandas 列表列,为每个列表元素创建一行

    我有一个数据框 其中一些单元格包含多个值的列表 而不是存储多个 单元格中的值 我想扩展数据框 以便列表中的每个项目都有自己的行 在所有其他列中具有相同的值 所以如果我有 import pandas as pd import numpy as
  • JNI:用C代码读取文本文件并返回到sdk

    我正在尝试创建一个 Android 应用程序来使用 NDK 从文本文件中读取文本 我的 C 代码将一个字符串读入变量并将字符串变量返回到 java 代码 但是当我运行 Android 应用程序时 TextView 中显示的字符串显示为 等符
  • WPF 数据网格组合框数据绑定

    谁能告诉我为什么这有效
  • 如何在Python上创建一个定时器

    我正在创建一个代码 要求程序计算它运行的时间 然后显示时间 它基本上是一个在后台运行的计时器 我可以调用它来显示代码已经运行了多长时间 我该怎么做呢 您记录开始时间 然后计算该开始时间与当前时间之间的差异 由于平台差异 为了精度 您需要使用
  • C# 有类似 PHP 的 mb_convert_encoding() 的东西吗?

    C 上有没有一种方法可以将 unicode 字符串转换为 ASCII html 实体 然后再转换回来 看 在 PHP 中 我可以这样做
  • linux zip 并通过 bash/shell 脚本排除目录

    我正在尝试编写一个 bash shell 脚本来压缩特定文件夹并忽略该文件夹中的某些子目录 这是我要压缩的文件夹 同步测试5 我的 bash 脚本生成一个忽略列表 based on 并像这样调用 zip 函数 bin bash SYNC W
  • 如果 Django 中存在该对象,我如何获取该对象;如果该对象不存在,我如何获取 None?

    当我要求模型管理器获取一个对象时 它会引发DoesNotExist当没有匹配的对象时 go Content objects get name baby 代替DoesNotExist 我怎样才能有go be None反而 没有 内置 方法可以
  • 在列表中的元素中搜索子字符串并删除元素

    我有一个列表 我正在尝试删除其中的元素 pie 在他们中 这就是我所做的 applepie orangepie turkeycake for i in range len list if pie in list i del list i 我
  • 仅提取邮政编码和 lsoa 代码 - Sparkql

    我正在尝试编写一些 Sparkql 来提取邮政编码数据并行进 lsoa 代码 到目前为止 当我只想要最后一个单元时 我提取了邮政编码和 lsoa 代码的所有 url 请问我怎样才能得到最后的元素 query lt PREFIX pc
  • 父子层次结构的递归查询。从顶部节点获取后代

    我有一张表 它以父子格式存储层次结构数据 并带有一个顶部节点 多个级别 每个父母都有多个孩子 如何编写递归查询以仅选择从特定节点到最后一个子节点的父子行 示例表 Parent child 1 2 1 3 2 4 2 5 3 6 3 7 6
  • 使用 C# 检查应用程序池 (IIS 6) 的状态

    如何使用 C 检查 IIS 6 应用程序池的状态 例如 我想知道它是否正在运行 在此先感谢您的帮助 http msdn microsoft com en us library ms524962 aspx 您可以检查 AppPoolState
  • testNG/selenium webdriver 仅限 5 个并行测试

    我正在使用 maven Surefire 插件并使用 testNG 运行 selenium webDriver 并且能够重用一个 JVM 实例来并行化我的测试 由于某种原因 我不确定如何运行超过 5 个 我尝试设置
  • MySQL 合并两列并添加到新列中

    我的 MySQL 表具有以下结构 zipcode city state 10954 Nanuet NY 我想将以上 3 列合并为一列 如下所示 combined 10954 N
  • 这行 bash 脚本中的句点会产生什么后果?

    我正在计算集群上运行生物信息学 Web 应用程序 并且正在尝试解决一些问题 Web 应用程序运行预定义的 shell 脚本 该脚本传递集群计算参数 存储在名为defaultJobRunner sh在运行计算密集型工作之前 对于创建的每个作业
  • C# - .NET 和 CF.NET 的代码编译器

    我有一个相同的项目 需要使用 NET 和 Compact NET Framework 进行编译 可以创建一个 C 编译器将编译我的 具有两个框架的项目 某些功能不存在于 CF NET Framework 所以我创建了它 我自己 创建具有 完
  • 如何将 Sitemesh 3 与 Spring MVC 3 集成?

    我正在尝试使用 Sitemesh 3 来控制 Spring MVC 应用程序的 JSP 输出的装饰 当我点击应用程序时 Sitemesh 似乎正在向 Spring servlet 发出请求 以尝试检索其装饰器文件 这可能是正确的行为 也可能
  • Scrapy:从相对路径构造非重复的绝对路径列表

    Question 如何使用Scrapy从相对路径下创建非重复的绝对路径列表img src tag 背景 我正在尝试使用Scrapy抓取网站 拉取以下链接img src标记 将相对路径转换为绝对路径 然后生成 CSV 或列表数据类型的绝对路径
  • mySQL“高分排名”-查询

    世界各地的程序员们大家好 我正在开发一个项目 用户可以做某些事情并为此获得积分 为了简化这个问题 假设我们有 2 个表user and points table user table points id name id points use
  • OpenCL 内核的定时执行

    这是 OpenCL 内核执行时间计时的正确方法吗 我非常热衷于使用 c 包装器 不幸的是 它没有很多计时示例 cl CommandQueue queue context device CL QUEUE PROFILING ENABLE er
  • 使用 Pandas 连接交替行的数据帧

    我有两个数据框df1 and df2定义如下 df1 df2 Out 69 Out 70 A B A B 0 2 a 0 5 q 1 1 s 1 6 w 2 3 d 2 3 e 3 4 f 3 1 r 我的目标是通过交替行来连接数据帧 以便