如何将两个熊猫数据帧联接/写入单个文件

时间:2020-03-29 18:17:43

标签: pandas dataframe

我正在将csv文件读取到熊猫数据框以进行科学分析/处理。我创建第二个“相同的”数据框。我对第二帧数据进行分析/处理。我想将数据“并排”返回到具有两个帧的csv文件中,以便可以将原始数据与处理后的数据进行比较。

从文件中输入代码:

reader = pd.read_csv(Filename1, sep = none, engine = 'python')
df = pd.DataFrame(reader)
dg = pd.DataFrame(reader)

我正在处理dg

现在,我想将'df'和'dg'(每个帧由相同数量的列组成)写入csv文件,以便csv文件的每一行都像这样:

(df Col1),(df Col2),(df Col3),(dg Col1),(dg Col2),(dg Col3)

如何创建将df和dg并排连接在一起的新数据框?

期望通过以下语句将结果数据帧写入第二个csv文件(文件名2)(假设di是连接在一起的两个数据帧)。

di.head(EndFile).to_csv(Filename2, sep = '\t', index = False, header = False)

2 个答案:

答案 0 :(得分:0)

您可以尝试简单的合并,而不是保存到csv。

import pandas as pd
dict1 = {'a':[2,3,4],'b':[4,5,6]}
dict2 = {'a':[7,5,6],'b':[6,8,10]}
first = pd.DataFrame(dict1)
second = pd.DataFrame(dict2)

first
    a   b
0   2   4
1   3   5
2   4   6

second
    a   b
0   7   6
1   5   8
2   6   10

first.merge(second, how='inner', left_index=True, right_index=True, suffixes=('_first','_second'))

        a_first b_first a_second b_second
0       2       4       7        6
1       3       5       5        8
2       4       6       6        10

combined_df = first.merge(second, how='inner', left_index=True, right_index=True, suffixes=('_first','_second'))

combined_df.to_csv(filename)

答案 1 :(得分:0)

您可以像这样使用pandas.DataFrame.merge()

di = pd.merge(df, dg, left_index=True, right_index=True, suffixes=('_df', '_dg'))