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

Mut*_*ala 2 python pandas

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

A  B     
10 Mini 

20 Mini Van

15 Mini

13 Mini Bus
Run Code Online (Sandbox Code Playgroud)

期望的结果

A   B

10  Mini

15  Mini
Run Code Online (Sandbox Code Playgroud)

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

df_temp = df_temp[df_temp['B'].apply(lambda x: 'mini' in x)] and
df_temp = df_temp[df_temp['B'].apply(lambda x: 'mini' in x.str.match())]
Run Code Online (Sandbox Code Playgroud)

谢谢

jpp*_*jpp 5

检查是否平等:

df_temp = df_temp[df_temp['B'] == 'Mini']
Run Code Online (Sandbox Code Playgroud)

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

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

df_temp = df_temp.query('B == "Mini"')
Run Code Online (Sandbox Code Playgroud)

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