1
我有一個數據幀,看起來像這樣:連接兩個dataframes
RIC | base
AAPL| AA
IBM |
AMD |
,並用相同的字段,但不同的價值觀另一個表:我想加入這兩個表得到這個
RIC | base
AAPL | AA
IBM |
AMD | AM
產生表:
RIC | base
AAPL | AA
IBM |
AMD | AM
我該怎麼做?
我有一個數據幀,看起來像這樣:連接兩個dataframes
RIC | base
AAPL| AA
IBM |
AMD |
,並用相同的字段,但不同的價值觀另一個表:我想加入這兩個表得到這個
RIC | base
AAPL | AA
IBM |
AMD | AM
產生表:
RIC | base
AAPL | AA
IBM |
AMD | AM
我該怎麼做?
你注意到你期望的結果是一樣的你的第二個數據幀?
我認爲你的意思是這樣的:
考慮兩個dataframes d1
和d2
d1 = pd.DataFrame(dict(RIC=['AAPL', 'IBM', 'AMD'], base=['AA', None, None]))
d2 = pd.DataFrame(dict(RIC=['AAPL', 'IBM', 'AMD'], base=['aa', 'IB', 'AM']))
print(d1)
print()
print(d2)
RIC base
0 AAPL AA
1 IBM None
2 AMD None
RIC base
0 AAPL aa
1 IBM IB
2 AMD AM
我們將使用和combine_first
d1.set_index('RIC').combine_first(d2.set_index('RIC')).reset_index()
RIC base
0 AAPL AA
1 IBM IB
2 AMD AM
這種方法與所採用的值第一個數據幀存在時。否則,它將從第二個數據幀獲取值。
嘗試:pd.concat([DF1,DF2]軸= 1)
謝謝!我不知道combine_first。這解決了我的問題。 –