私はこのようになりますデータフレームを持っている:参加2つのデータフレーム
RIC | base
AAPL| AA
IBM |
AMD |
と同じフィールドが異なる値を持つ別のテーブル:私はこれを取得するために2つのテーブルを結合したいと思います
RIC | base
AAPL | AA
IBM |
AMD | AM
結果テーブル:
RIC | base
AAPL | AA
IBM |
AMD | AM
どうすればいいですか?
私はこのようになりますデータフレームを持っている:参加2つのデータフレーム
RIC | base
AAPL| AA
IBM |
AMD |
と同じフィールドが異なる値を持つ別のテーブル:私はこれを取得するために2つのテーブルを結合したいと思います
RIC | base
AAPL | AA
IBM |
AMD | AM
結果テーブル:
RIC | base
AAPL | AA
IBM |
AMD | AM
どうすればいいですか?
をご希望の結果が2番目のデータフレームと同じであることがわかりますか?
2つのデータフレームが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
使用します考えてみましょう:
は、私はあなたがこのような何かを意味だと思います最初のデータフレームが存在する場合はそれを返します。それ以外の場合は、第2のデータフレームから値を取得します。
あなたは試してみてください。pd.concat([DF1、DF2]、軸= 1)
ありがとうございました!私はcombine_firstを知らなかった。これは私の問題を解決しました。 –