我正在尝试在pandas数据框中搜索关键字。目前,我正在使用isin()方法搜索整个数据帧,它可以正常工作,但是处理超过1 Gb的大型数据集会花费很多时间。
我要解决的问题是:
假设我有一个数据集df:
Player_Name Country Type_of_sports
Messi Argentina Football
Ronaldo Portugal Football
Kohli India Cricket
Federer Switzerland Tennis
列名-玩家名称,国家/地区,体育类型
因此,如果用户输入查询,例如:
query = 'Which country is Messi from ?'
因此,我在此查询中的关键字将为Messi
。
所以现在我需要在整个数据框中搜索Messi
。
那么有什么有效的方法可以在数据帧中搜索和查找此类数据值,而无需使用for循环或isin()方法?
注意-查询并不总是总是包含确切的列名。
例如-
new_query-'玩football
的玩家名称。
现在,我需要在整个数据框中搜索关键字Football
。
有没有无需使用for循环或isin()函数即可搜索Football
的方法。
谢谢
答案 0 :(得分:0)
要有效回答该查询,可以使用以下命令:
df.loc[df.Player_Name == 'Messi', 'Country']
'Argentina'
如果该列中不存在给定的玩家名称,则将不存在匹配项,并且将返回空系列。