我有一个带有 float64 类型列的数据框。然后,当我运行以下命令时,它会转换为对象,最终会干扰下游计算,其中以分母为分母,并且有一些 0:
df.loc[some criteria,'my_column'] = pd.NA
在这句话之后,我的专栏现在是对象类型。有人可以解释为什么会这样,以及如何纠正这个问题?我宁愿第一次就做对,而不是将其添加到最后:
df['my_column'] = df['my_column'].astype(float)
谢谢。
答案 0 :(得分:2)
在pandas中,你可以使用NA或np.nan来表示缺失值。 np.nan 将它强制转换为 float ,这是您想要的以及文档说明的内容。 NA 将列转换为字符串,最适合用于 dtype 字符串列。
df.loc[some criteria,'my_column'] = np.nan