使用for循环比较两个数据帧

时间:2017-05-03 14:21:40

标签: python pandas dataframe

我有两个数据帧,df1和df2。我想在df1和df2(第1列)的第一列上创建一个“运行”的for循环,并返回在df2的第0列上找到的元素。到目前为止,我的代码如下,但出了点问题。

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
你可以帮我一把吗?感谢名单。

1 个答案:

答案 0 :(得分: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]