假设我有一个包含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相关问答推荐

我不能使用拆分来分隔数据

Select 作为 MultiIndex 一部分的两个 DatetimeIndex 之间的行

一起使用数据类和枚举

如何确保 GCP Document AI 模型输出与输入文件同名的 JSON?

如何对具有多个列值的 pandas 数据框进行数据透视/数据透视表

如何在 Python 中 cv2 的窗口标题上动态更新 FPS

DynamoDB - boto3 - batch_write_item:提供的关键元素与架构不匹配

Python多进程:运行一个类的多个实例,将所有子进程保留在内存中

是否可以将多个 if 转换为数组?

排队多个子进程

Pandas 将列格式化为货币

Seaborn:注释线性回归方程

python 3集合中的Discard()和Remove()函数有什么区别

如何使我的课程在 Python 中非常可打印?

为 python3 安装 opencv

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

Python 3 与 Python 2 映射行为

如何为 anaconda python3 安装 gi 模块?

新项目:Python 2 还是 Python 3?

Python 2 与 Python 3 - urllib 格式