我有两个数据帧,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
你可以帮我一把吗?感谢名单。
答案 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]