熊猫合并具有相同值和相同索引的行
问题描述:
我有一个DataFrame,其索引名为SubjectID
,列Visit
。对于Value1
和Value2
,主题有多个访问和一个整数值或一个N/A。我想折叠具有相同SubjectID
和相同Visit
数字的行。熊猫合并具有相同值和相同索引的行
这里是我的数据帧:
SubjectID Visit Value1 Value2
B1 1 1.57 N/A
B1 1 N/A 1.75
B1 2 N/A 1.56
我想它看起来像这样:
Subject ID Visit Value1 Value2
B1 1 1.57 1.75
B1 2 N/A 1.56
我试图用groupby()
来解决这个问题,但我不知道怎么样以使其考虑Visit
列中的索引和值。
答
您可以使用groupby.first
或groupby.last
获取组中每列的第一个/最后一个非空值。对于示例数据,输出将是相同的两种方法:
df = df.groupby(['SubjectID', 'Visit']).first().reset_index()
输出结果:
SubjectID Visit Value1 Value2
0 B1 1 1.57 1.75
1 B1 2 NaN 1.56
太感谢你了,这真是棒极了 – MScar