假设我有一个包含ID1和ID2的数据帧

import pandas as pd
 
# initialize list of lists
data = [[1, 10], [2, 15], [10, 14]]
 
# Create the pandas DataFrame
df_test = pd.DataFrame(data, columns=['ID1', 'ID2'])

我想知道ID2中是否存在ID1

因此,在本例中,输出应该是

ID1,ID2,Exists
1,10,False
2,15,False
10,14,True

我跟着答案走到了这里

Check if column value is in other columns in pandas

但是输出都是True,这是不正确的

df_test["exists"] = df_test.drop("ID1", 1).isin(df_test["ID2"]).any(1)

有人能帮帮忙吗?在环境中的是Python3.谢谢

推荐答案

您可以使用np.intersect1d:

intersection = np.intersect1d(df_test["ID1"], df_test["ID2"])
df_test["Exists"] = df_test["ID1"].isin(intersection)

print(df_test)

打印:

   ID1  ID2  Exists
0    1   10   False
1    2   15   False
2   10   14    True

Python-3.x相关问答推荐

错误2没有这样的文件或目录website_content.txt""

正则表达式匹配并提取括号前的单词

selenium 无法执行网站上最简单的功能

Python (pandas) - 判断一个 df 中的值是否在另一个(不相等)df 中的任何对之间

如何将 OLS 趋势线添加到使用 updatemenus 显示数据子集的 plotly 散点图图形对象?

缺失时推断的数据类可选字段

如何从形状汇总图中提取实际值

将两列合并为一列,将它们制成字典 - pandas - groupby

Python BeautifulSoup:在 Select 语句中排除其他标签

如何查找 tensorflow.python.data.ops.dataset_ops.MapDataset 对象的大小或形状,make_csv_dataset 的输出

如何在 VSCode 的在 Cloud Run Emulator 上运行/调试构建设置中添加 SQL 连接

Seaborn:注释线性回归方程

使用逗号时,除了处理程序中的语法无效

创建日志(log)文件

使用打印时,用+连接是否比用,分隔更有效?

为 True 相交两个布尔数组

Python的max函数有多高效

如何在继承的数据类中创建可选字段?

无法解码 Python Web 请求

如何使用 Celery 和 Django 将任务路由到不同的队列