使用lambda函数进行精确的字符串搜索

时间:2018-06-11 12:20:11

标签: python pandas

如何使用lambda函数搜索精确字符串?数据框如下所示:

System.NotSupportedException: 'Unable to create a constant value of type 'System.Reflection.PropertyInfo'. Only primitive types or enumeration types are supported in this context.'

期望的结果

A  B     
10 Mini 

20 Mini Van

15 Mini

13 Mini Bus

我尝试了以下方法,但都失败了:

A   B

10  Mini

15  Mini

谢谢

1 个答案:

答案 0 :(得分:5)

检查是否平等:

df_temp = df_temp[df_temp['B'] == 'Mini']

这是有效的,因为df_temp['B'] == 'Mini'返回一个布尔系列,然后用于索引df_temp

或者您可以使用pd.DataFrame.query获得更直观的语法:

df_temp = df_temp.query('B == "Mini"')

pd.Series.apply只是一个薄薄的环路;当你需要在循环中一次明确地操作一个系列项时,它应该被保留。通过上述方法,它是低效且冗长的,而不是索引。