Pandas 添加 NA 将列从 float 更改为 object
Pandas adding NA changes column from float to object
我有一个包含 float64 类型列的数据框。然后当我 运行 以下它转换为对象时,最终会搞乱下游计算,其中这是分母并且有一些 0:
df.loc[some criteria,'my_column'] = pd.NA
在这条语句之后,我的列现在是对象类型。有人可以解释为什么会这样,以及如何纠正这个问题吗?我宁愿第一次就把它做对,也不愿把它加到最后:
df['my_column'] = df['my_column'].astype(float)
谢谢。
在pandas中,可以使用NA或np.nan来表示缺失值。 np.nan 将其转换为浮动,这是您想要的以及文档中说明的内容。 NA 将该列转换为字符串,最适合用于 dtype 字符串列。
df.loc[some criteria,'my_column'] = np.nan
我有一个包含 float64 类型列的数据框。然后当我 运行 以下它转换为对象时,最终会搞乱下游计算,其中这是分母并且有一些 0:
df.loc[some criteria,'my_column'] = pd.NA
在这条语句之后,我的列现在是对象类型。有人可以解释为什么会这样,以及如何纠正这个问题吗?我宁愿第一次就把它做对,也不愿把它加到最后:
df['my_column'] = df['my_column'].astype(float)
谢谢。
在pandas中,可以使用NA或np.nan来表示缺失值。 np.nan 将其转换为浮动,这是您想要的以及文档中说明的内容。 NA 将该列转换为字符串,最适合用于 dtype 字符串列。
df.loc[some criteria,'my_column'] = np.nan