@ciel_tktk

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

複数のPandasデータフレームで同じIDの値の行を結合させる方法

Q&A

Closed

解決したいこと

2つの異なるデータフレームでIDとして共通の値を持つ行を結合させたいです。

例)

data_1 = pd.DataFrame(data=[['abc','Tokyo', 'Osaka'],['bcd','Tokyo', 'Chiba'],['cde','Tokyo', 'Fukuoka'],['def','Osaka', 'Kanagawa'],['efg','Osaka', 'Hokkaido'],], columns=['ID','出発地','到着地'])
data_1

data_2 = pd.DataFrame(data=[['abc','11:00', '13:00'],['fg1','15:00', '19:00'],['bcd','10:00', '11:00'],['cde','14:00', '18:00'],['def','12:00', '18:00'],['efg','15:00', '19:00'],['gh0','15:00', '19:00'],], columns=['ID','出発時間','到着時間'])
data_2

data_1
image.png

data_2
image.png

この二つのデータでIDの値が同じものを結合して一つのデータフレームにしたいのですが、なかなか答えが見つからずご教授いただきたいです。

結果としてこのようなデータフレームを作りたいです。
image.png

よろしくお願いいたします。

0 likes

1Answer

「pandas 結合 キー」でググってみつけました。

data_3 = pd.merge(data_1, data_2, on='ID')
print(data_3)
実行結果
    ID    出発地       到着地   出発時間   到着時間
0  abc  Tokyo     Osaka  11:00  13:00
1  bcd  Tokyo     Chiba  10:00  11:00
2  cde  Tokyo   Fukuoka  14:00  18:00
3  def  Osaka  Kanagawa  12:00  18:00
4  efg  Osaka  Hokkaido  15:00  19:00
2Like

Comments

  1. @ciel_tktk

    Questioner

    mergeを使えば簡単にできるのですね。調べ方が足りませんでした!ありがとうございます!

Your answer might help someone💌