合并多个相似的表格以及缺失的项目和价值

时间:2019-01-04 06:12:55

标签: python-3.x dataframe

请帮助。我需要将许多.txt文件合并为1个摘要.txt文件。例如,我的第一个文件:

Name1
A    1
B    4
C    5

我的第二个文件:

Name2
A    3
D    2
E    1

我需要制作一个这样的文件:

    Name1    Name2
A    1        3
B    4        0
C    5        0
D    0        2
E    0        1

如您所见,我的2个文件具有相似的格式,但是它们具有共同的(A)和唯一的(B,C,D,E)组件。为了将它们组合在一起,我正在考虑制作以Name1Name2作为字典名称的字典。但是,如果我有100个文件,我不知道如何动态传递字典的名称。 之后,我正在考虑创建一个通用字典,其中包含每个文件的所有键。然后,我将把每个文件的密钥与该通用字典进行比较,所有丢失的密钥都将添加为0。 我不知道下一步该怎么做才能将其打印成我想要的格式。

1 个答案:

答案 0 :(得分:0)

您应使用pandas进行数据框操作。 这是使用熊猫的解决方案

import pandas as pd

df1 = pd.DataFrame({'name1':[1,4,5]}, index=['A','B','C'])
df2 = pd.DataFrame({'name2':[3,2,1]}, index=['A','D','E'])

df_new = df1.join(df2, how='outer')
df_new.fillna(0)

输出:

    name1   name2
A   1.0     3.0
B   4.0     0.0
C   5.0     0.0
D   0.0     2.0
E   0.0     1.0

修改

首先将.txt文件转换为csvtsv文件,以供熊猫使用pd.read_csv()读取