Pandas Query astype(str)

au9on6nz  于 2023-05-21  发布在  其他
关注(0)|答案(1)|浏览(95)

我有一个dataframe,它有一个通常只有数字的列。有时,它会有文本值,这意味着它的类型将是object而不是int64。我没有执行ColumnA == "100" & ColumnA == 100,而是尝试执行一个查询,将该值与整数的字符串值进行比较:

df.query('ColumnA.astype(str) == "100"))

但这给了我一个KeyErrorstr键不存在。
有没有办法在Pandas查询中使用astype

wpx232ag

wpx232ag1#

虽然在这种 usecases 中不需要query,但应该用 quotes 括起str

df = pd.DataFrame({"ColumnA": ["100", 200, "300", 400, 100, "500"]})

out = df.query('ColumnA.astype("str") == "100"')

输出:

print(out)

  ColumnA
0     100
4     100

相关问题