我有一个考拉数据框,大约。其中有 600 万行。我需要执行一个操作,读取数据框中的每一行,提取每一行的值,然后在列表中进行查找(该列表中有 30 K 个元素)。如果找到返回 true,否则返回 false,并创建一个布尔数组作为输出。
我知道一种简单的方法是使用 iterrows() 方法遍历每一行。但这很耗时。寻找可以使流程更快的建议。
例如,样本数据框是——
species population
panda bear 1864
polar bear 22000
koala marsupial 80000
现在我有一个列表,其中包含我的列中的值组合,如果在测试列表中找到,则获取每一行的值,例如 (bear,1864),如果不是 false,则将 true 附加到列表中
test_list =[(bear,189), (bear,1864) , (marsupial,9), ..... ]
test_list 长度约为 30k
样本输出将是
output = [True, False, False]
检查样本数据帧的每一行,第一行有值 (bear, 1864),因此输出列表的第一个元素为 true。第二行的值 (bear, 1864) 不在列表中。因此 False 被附加到输出列表等等。