首页 > 解决方案 > 以之字形/拉链方式将两个数据帧组合成一个新数据帧

问题描述

我有 df1 和 df2,我想创建新的数据框 df3,这样 df3 的第一条记录应该是 df1 的第一条记录,df3 的第二条记录应该是 df2 的第一条记录。它以类似的方式继续。

我用熊猫尝试了很多方法,但没有得到答案。

有什么方法可以实现。

标签: pythonpandasdataframe

解决方案


您可以创建一个具有增量 id 的列(一个具有奇数,另一个具有偶数:

import numpy as np
df1['unique_id'] = np.arange(0, df1.shape[0]*2,2)
df2['unique_id'] = np.arange(1, df2.shape[0]*2,2)

然后附加它们并按此列排序:

df3 = df1.append(df2)
df3 = df3.sort_values(by=['unique_id'])

之后您可以删除您创建的列:

df3 = df3.drop(columns=['unique_id'])

推荐阅读