2015-10-12 12 views
15

Iは、ID情報とデータフレームdf_aを持っている:パンダカラムバインド(CBIND)2つのデータフレーム

unique_id lacet_number 
15 5570613 TLA-0138365 
24 5025490 EMP-0138757 
36 4354431 DXN-0025343 

と別のデータフレームdf_bを、Iはdf_aの行に対応知っている同じ行数と:

unique_id lacet_number  latitude longitude 
0  5570613 TLA-0138365 -93.193560 31.217029 
1  5025490 EMP-0138757 -93.948082 35.360874 
2  4354431 DXN-0025343 -103.131508 37.787609 
0123:

 latitude longitude 
0 -93.193560 31.217029 
1 -93.948082 35.360874 
2 -103.131508 37.787609 

私は何をしたい2をCBINDしてもらうだけです

df_c = pd.concat([df_a, df_b], axis=1) 

私に外部結合を与える:私が試してみました何

unique_id lacet_number latitude longitude 
0   NaN   NaN -93.193560 31.217029 
1   NaN   NaN -93.948082 35.360874 
2   NaN   NaN -103.131508 37.787609 
15 5570613 TLA-0138365   NaN  NaN 
24 5025490 EMP-0138757   NaN  NaN 
36 4354431 DXN-0025343   NaN  NaN 

問題は、2つのデータフレームのインデックスが一致しないことです。私はpandas.concatのドキュメントを読んで、 "ignore_index"というオプションがあるのを見た。しかし、それは連結軸にのみ適用されます。私の場合は列であり、確かに私にとって正しい選択ではありません。だから私の質問です:これを達成するための簡単な方法はありますか?

+2

申し訳ありませんが、なぜ」することができますdf_c = pd.concat([df_a.reset_index()、df_b]、axis = 1) 'を実行するだけです。 – EdChum

+0

@EdChum、チップをありがとう。それは問題を解決しました。あなたの質問に対する答えは、私がこの機能について知りませんでした。私は再インデックスを試みましたが、これは明らかにこの目的のためではありませんでした。あなたのコメントを答えに変えてもよろしいですか?私はそれを受け入れるでしょう。 – breezymri

答えて

28

あなたは、インデックス行の値がインデックス並び順を避けるために、同じであることを確認している場合は、単にこれは0から起動するために戻ってあなたのインデックス値をリセットする、reset_index()を呼び出す:

df_c = pd.concat([df_a.reset_index(drop=True), df_b], axis=1) 
関連する問題