如何使用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)
谢谢
检查是否平等:
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只是一个薄薄的环路; 当你需要在循环中一次明确地操作一个系列项时,它应该被保留.通过上述方法进行索引是低效且冗长的.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |