在Pandas中,如何通过交错列水平连接?

ruyhziif  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(105)

我有两个.csv文件A和B,它们看起来像
A:Col1、Col2、Col3
B:Col1、Col2、Col3
两个.csv文件中的列名相同。如何将它们水平连接起来,使生成的文件C看起来像
C:Col1(来自A)、Col1(来自B)、Col2(来自A)、Col2(来自B)......
可以考虑pd.concat([A,B],axis=1),但它会将一个文件的列放在另一个文件的列之后。我希望他们交错的方式,我已经显示在上面。

5us2dqdw

5us2dqdw1#

我想也许你可以使用循环来迭代每一列,就像下面这样:

import pandas as pd

data1 = pd.read_csv('fileA.csv')
data2 = pd.read_csv('fileB.csv')

# Create an empty dataframe to hold the result
data_interleaved = pd.DataFrame()

# Interleave the columns
for column in data1.columns:
    data_interleaved[f'{column}_from_A'] = data1[column]
    data_interleaved[f'{column}_from_B'] = data2[column]

df_interleaved.to_csv('fileC.csv', index=False)

字符串
此方法需要两个文件具有相同的行数,否则可能会出现问题。如果它们的行数不相同,但您仍然希望合并它们,则需要决定处理差异的策略(例如,使用NaN或某些特定值填充缺失值)。

相关问题