如何使用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
谢谢
答案 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
只是一个薄薄的环路;当你需要在循环中一次明确地操作一个系列项时,它应该被保留。通过上述方法,它是低效且冗长的,而不是索引。