我有一个dataframe,它有一个通常只有数字的列。有时,它会有文本值,这意味着它的类型将是object而不是int64。我没有执行ColumnA == "100" & ColumnA == 100,而是尝试执行一个查询,将该值与整数的字符串值进行比较:
object
int64
ColumnA == "100" & ColumnA == 100
df.query('ColumnA.astype(str) == "100"))
但这给了我一个KeyError说str键不存在。有没有办法在Pandas查询中使用astype?
KeyError
str
astype
wpx232ag1#
虽然在这种 usecases 中不需要query,但应该用 quotes 括起str:
query
df = pd.DataFrame({"ColumnA": ["100", 200, "300", 400, 100, "500"]}) out = df.query('ColumnA.astype("str") == "100"')
输出:
print(out) ColumnA 0 100 4 100
1条答案
按热度按时间wpx232ag1#
虽然在这种 usecases 中不需要
query
,但应该用 quotes 括起str
:输出: