2
考慮兩個dataframes:熊貓:合併兩個數據框列
df_a = pd.DataFrame([
['a', 1],
['b', 2],
['c', NaN],
], columns=['name', 'value'])
df_b = pd.DataFrame([
['a', 1],
['b', NaN],
['c', 3],
['d', 4]
], columns=['name', 'value'])
所以看起來像
# df_a
name value
0 a 1
1 b 2
2 c NaN
# df_b
name value
0 a 1
1 b NaN
2 c 3
3 d 4
我要與現有的合併這兩個dataframes並填寫value
列的NaN值另一列中的值。換句話說,我想出來的:
# DESIRED RESULT
name value
0 a 1
1 b 2
2 c 3
3 d 4
當然,我可以用自定義.map
或.apply
做到這一點,但我想使用merge
或類似的,而不是編寫自定義合併功能的解決方案。如何才能做到這一點?
'combine_first'的偉大工程!謝謝。 但是,'fillna'&'update'不適用於外連接 - 兩者只會填充調用數據框中存在的值。例如,df_a.fillna(df_b)將「d」行解除。與'update'一樣。除非您可以對數據做出某些假設,否則它們不是一個通用的解決方案。 – tyleha