我有以下数据,并且想要查找某组值多次出现的行数。

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/

10-10 21:14