我是一个帮助翻译文本的助手。
我有两个任意形状的DataFrame,类型为:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 NaN
3 A3 NaN NaN
4 A4 NaN NaN
并且
A B C
2 NaN NaN C2
3 NaN B3 C3
4 NaN B4 C4
5 A5 B5 C5
6 A6 B6 C6
这两个数据框具有重叠的索引。在给定列的重叠部分中,一个数据框中存在非NaN
值,而另一个数据框中存在NaN
值。如何进行连接以获得一个包含所有值且没有NaN
的数据框:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
4 A4 B4 C4
5 A5 B5 C5
6 A6 B6 C6
我的建议解决方案是:
df3 = pd.concat([pd.concat([df1[col].dropna(), df2[col].dropna()]) for col in df1.columns], axis=1)
然而,理想情况下我不想逐列工作。
combine_first
是专门为此设计的。 - user3471881