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



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

A  B     
10 Mini 
20 Mini Van
15 Mini
13 Mini Bus

期望的结果

A   B
10  Mini
15  Mini

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

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())]

谢谢

只需检查相等性:

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只是一个薄薄的循环;它应该保留在你需要在一个循环中一次一个项目地显式操作一个系列时。与通过上述方法进行索引相比,它效率低下且冗长。

最新更新