![](/img/trans.png)
[英]Check if a string from a column in a dataframe exists in a column in a different 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.