2017-04-06 10 views
1

私は2つのパンダのデータフレームdf1とdf2を持っています。私は、df1の1つの列とdf2の1つの列を使用して、すべての組み合わせを含むデータフレームdf3を作成します。このようなものになるだろう非効率的にこれを行うための擬似コード:2つのパンダデータフレームの2つの組み合わせを作成する

df1_id other_data_1 other_data_2 
1   0    1 
2   1    5 

DF2:

df3 = [] 
for i in df1: 
    for j in df2: 
     df3.append(i + j) # where i + j is the row with the combined cols from df1 and df2 

はここでDF1のためのフォーマットです

df2_id other_data_3 other_data_4 
1   0    1 
3   2    2 

とゴールがために、この出力を得ることです df3:

df1_id df2_id other_data_1 other_data_2 other_data_3 other_data_4 
1   1   0    1    0    1 
1   3   0    1    2    2 
2   1   1    5    0    1 
2   3   1    5    2    2 

答えて

3

は2つのデータフレームの間で共通鍵を設定し、使用pd.mergeを:

df1['key'] = 1 
df2['key'] = 1 

マージし、キー列を削除:

df3 = pd.merge(df1,df2,on='key').drop('key',axis=1) 
df3 

出力:

df1_id other_data_1 other_data_2 df2_id other_data_3 other_data_4 
0  1    0    1  1    0    1 
1  1    0    1  3    2    2 
2  2    1    5  1    0    1 
3  2    1    5  3    2    2 
+0

グレート、ありがとうございました! –

+0

あなたは大歓迎です。 –

関連する問題