在熊猫数据框中高效搜索

时间:2019-03-21 05:49:02

标签: python pandas dataframe

我正在尝试在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的方法。

谢谢

1 个答案:

答案 0 :(得分:0)

要有效回答该查询,可以使用以下命令:

df.loc[df.Player_Name == 'Messi', 'Country']
'Argentina'

如果该列中不存在给定的玩家名称,则将不存在匹配项,并且将返回空系列。

相关问题