我有以下数据,并且想要查找某组值多次出现的行数。
date page1 page2 page3 page4
1/2001 entered toyota NaN NaN
1/2001 entered ford NaN NaN
1/2001 entered honda ford left
1/2001 entered ford toyota left
1/2001 entered toyota ford left
1/2001 entered index photo left
我想做的是查找车辆出现两次以上(> = 2)的列数。因此,根据上述数据,在两行中,车辆出现两次。
因此,在前面的示例中,我将得到以下内容。
honda ford 1
ford toyota 1
toyota ford 1
我曾考虑过通过pandasql进行攻击,但我什至不知道该如何处理(这里是新手)。谁能给我指出一些建议或我应该考虑的问题。
另外,我想做的第二部分是根据组合查找值的计数。可以按照以下步骤进行操作,但是如何直接通过Pandas完成。
q = """
SELECT Path_1, Path_2, COUNT(*) FROM df
GROUP BY Path_1, Path_2;
"""
print ps.sqldf(q, locals())
最佳答案
因此您可以在这里使用这种数学:
vehicles = {'ford', 'honda', 'toyota', 'steve_urkel_car'} #etc
df[df.isin(vehicles).sum(1) >= 2]
关于python - Pandas :选择多个字符串出现多次的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26981669/