我正在查询AD以获取计算机列表。我按上次登录日期用熊猫过滤了此列表。当我处理完这些数据后,我会在其中一列 一个数据框。
我还有另一个报告,其中列出了我们使用的产品已安装的计算机的列表。我清除了这些数据,剩下的就是要用于与AD数据进行比较的设备。这只是数据框中的一列。
我也尝试过将列表与列表进行比较。我不确定最好的方法。
我尝试了合并,但是我猜这会将DF1第1行与DF2第1行进行比较。
DF1 = comp1,comp2,comp3,comp5
DF2 = comp1,comp2,comp3
如何检查DF1中的每一行,以确保DF2中的每个值都存在并返回true或false?
我试图找出DF1中不存在的计算机。
答案 0 :(得分:0)
这是一个简单的检查,看一个值是否在另一个值中,您可以通过多种方式执行此操作,这可能是最简单的一种。
我正在提供一些虚拟数据,但请查看How to make good reproducible pandas examples
machines = ['A','B','C']
machines_to_check = ['A','B']
df = pd.DataFrame({'AD' : machines})
df2 = pd.DataFrame({'AD' : machines_to_check})
现在,如果我们要检查df中存在但不存在于df2中的机器,我们可以使用~
来反转.isin
函数。
non_matching_machines = df.loc[~df['AD'].isin(df2['AD'])]
print(non_matching_machines)
AD
2 C