2017-05-03 36 views
0

私は2つのデータフレームdf1とdf2を持っています。私は、df1とdf2(列1)の両方の最初の列を "実行"し、df2の列0にある要素を返しますforループを作成します。これまでのところ私のコードは以下の通りですが、何かが間違っています。forループを使用して2つのデータフレームを比較する

import pandas as pd 

def user_return(df1,df2,list): 
    for i in df1.iteritems(): 
     for j in df2.iteritems(): 
      if df1[i:1] == df2[j:1]: 
       list.append(df2[j:0]) 

    return list 

私に手を差し上げてください。 〜

+3

列、つまり両方のテーブルにある値を結合しますか? – TLOwater

答えて

0

あなたはコメントから私の提案を実装する方法を迷っている場合:

import pandas as pd 

df1 = pd.DataFrame(columns=["Col1", "Col2", "Col3"], data=[[1,2,3],[2,1,3],[3,2,1]]) 
df2 = pd.DataFrame(columns=["Col1", "Col2", "Col3"], data=[[1,2,3],[2,1,3],[3,2,1]]) 

merged = df1.merge(df2, on="Col1") 
both_col_vals = list(merged["Col1"]) 
print both_col_vals 

出力>>あなたは内部結合をして、返さないのはなぜ[1,2,3]

関連する問題