我有一个像这样的pandas数据框:
asset, cusip, information1, information2, ...., information_n
1x4, 43942, 45, , NaN, , , NaN
1x4, 43942, NaN, , "hello", , NaN
1x4, 43942, NaN, , NaN, , "goodbye"
...
我想要的是:
asset, cusip, information1, information2, ...., information_n
1x4, 43942, 45, , "hello", , , "goodbye"
...
基本上我想在匹配"资产"和" cusips"不管哪个领域。在information1 ... information_n中只有一个条目不是NAN。
请注意,有些列可能是int,有些是字符串,有些是浮点数等等。
答案 0 :(得分:3)
您可以使用groupby和first(),它首先为您提供非NaN值
df = df.groupby(['asset', 'cusip']).first().reset_index()
asset cusip information1 information2 information_n
0 1x4 43942 45 "hello" "goodbye"