繁体   English   中英

检查列值是否存在于不同的 dataframe

[英]Check if column values exists in different dataframe

我有一个 pandas DataFrame 'df' 有 x 行,另一个 pandas DataFrame 'df2' 有 y 行 (x < y)。 我想返回 df['Farm'] 的值等于 df2['Fields'] 的值的索引,以便将相应的“经理”添加到 df。

我的代码如下:

data2 = [['field1', 'Paul G'] , ['field2', 'Mark R'], ['field3', 'Roy Jr']]
data = [['field1'] , ['field2']]
columns = ['Field']
columns2 = ['Field', 'Manager']
df = pd.DataFrame(data, columns=columns)
df2 = pd.DataFrame(data2, columns=columns2)

farmNames = df['Farm']
exists = farmNames.reset_index(drop=True) == df1['Field'].reset_index(drop=True)

这将返回错误消息:

ValueError:只能比较相同标记的 Series 对象

有谁知道如何解决这一问题?

正如@NickODell 提到的,您可以使用合并,基本上是左连接。 请参见下面的代码。

df_new = pd.merge(df, df2, on = 'Field', how = 'left')
print(df_new)

Output:

    Field Manager
0  field1  Paul G
1  field2  Mark R

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM