如何在Pandas的query方法中使用astype(str)进行查询?
解决Pandas query方法中使用astype的问题
你遇到的KeyError是因为在query的表达式里,str被解析成了列名而非类型参数。要在query里正确使用astype,只需把str改成字符串字面量"str"即可:
df.query('ColumnA.astype("str") == "100"')
除此之外,还有两种更简洁的处理方式:
- 直接用布尔索引,写法更直观:
df[df['ColumnA'].astype(str) == "100"] - 提前将ColumnA转换为字符串类型,后续查询更方便:
df['ColumnA'] = df['ColumnA'].astype(str) df.query('ColumnA == "100"')
内容的提问来源于stack exchange,提问作者Bijan
相关产品推荐
相关产品推荐

