我将医疗数据拆分为两个不同的CSV,需要将它们合并。一个数据集包含基本的人口统计信息,第二个数据集包含诊断代码。每个患者都被分配了一个名为INC_KEY的唯一标识号,我将其简化为简单的数字,如下例所示:
DF1:
INC_KEY SEX AGE
1 F 40
2 F 24
3 M 66
DF2:
INC_KEY DCODE
1 BW241ZZ
1 BW28ZZZ
2 0BH17EZ
3 05H633Z
2 4A103BD
3 BR30ZZZ
1 BF42ZZZ
我需要合并两个 Dataframe ,输出包含三行,如df1所示,每个dcode对应于该患者的附加列。如下所示:
INC_KEY SEX AGE DCODE1 DCODE2 DCODE3
1 F 40 BW241ZZ BW28ZZZ BF42ZZZ
2 F 24 0BH17EZ 4A103BD N/A
3 M 66 05H633Z BR30ZZZ N/A
我该怎么做呢?我试着做了一个左合并,但它没有给出我想要的结果。
2条答案
按热度按时间taor4pac1#
您可以使用
.merge
将INC_KEY
列上的两个 Dataframe 合并。然后,您可以使用.groupby()
和pd.concat()
将各个行转换为所需的列。最后,您可以使用.drop()
删除原始"DCODE"
列:这将输出:
ee7vknir2#
这里有另一种方法:
输出: