pandas 将 float64 转换为 int

标签 pandas dataframe

我正在尝试将 dataframe 中的列 (A) 的数据类型从 float64 转换为 int >,

df['A'].astype(numpy.int64)

但之后,A 仍然获取 float64 作为数据类型。我想知道如何解决这个问题。

最佳答案

看来你的输出没有分配回来,所以需要:

df['A'] = df['A'].astype(numpy.int64)

如果 NaN 使用 fillna将它们转换为 int:

df['A'] = df['A'].fillna(0).astype(numpy.int64)

或者通过 dropna 删除 A 列中带有 NaN 的所有行:

df = df.dropna('A')
df['A'] = df['A'].astype(numpy.int64)

关于pandas 将 float64 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47013973/

相关文章:

python - 根据列值 Pandas 对 group by 进行操作

pandas - 如何使用 Pandas 在整个数据框中搜索部分字符串?

python - 如何从日期时间中删除秒数?

dataframe - 按组计算唯一值的数量

r - 使用 dplyr r 在列中更改值时提取行

python - 根据条件合并两个 DataFrame

python - 从函数的输出添加新列到 Pandas Dataframe

pandas - 计算 Pandas 数据框中与不同值交错的重复项

python - 如何链接 pandas 中样式函数的条件?

python - 重新采样和填充 Pandas 中缺失的数据