我有2个玩具熊猫dfs:
df1 = pd.DataFrame({'x': [1,2,3,4,5,6,7,8,9,10],
'y':['a', 'b', 'c', 'd', 'e', 'a', 'z', 'p', 'q', 'r'],
'z': [9,8,7,6,5,4,3,2,1,0],
'w': [0.3, 0.5, 0.1, np.nan, 0.2, 0.3, np.nan, 1, 0.9, 0.3]}
)
df2 = pd.DataFrame({'t1': [1000,1500,3000,],
'y':['d', 'e', 'a'],
'z':[6,5,4],
'w': [np.nan, np.nan, np.nan]}
)
我要尝试不使用df.iterrows(非常慢)是基于列[y,z]查找df1(较大df)中的df2(较小df)的元素。 df1和df2具有相同的列数,并且几乎具有相同的列名,因此我要查找df1中与df2有关的y,z列中的匹配项,并报告这些值的匹配值和不匹配值。
t1和x分别是df1和df2的唯一名称,这就是为什么它们以我在示例中显示的方式显示的原因。两个数据帧都存在z,但是内容改变了,所以这就是解决方案中有一个“ z1”的原因。