首页 > 解决方案 > 选择数据框中的所有数值并将其转换为熊猫中的 int

问题描述

我有如下数据:

在此处输入图像描述

我想将所有数值都设为 int,这里不会有小数。像这样:

在此处输入图像描述

我正在使用类似列表的代码:

             df=pd.read_csv("file.csv")

             df = df.astype('int64')

但它不起作用。因为它在说:

          ValueError: Cannot convert NA to integer

因为,我里面有一些 nan 值。第一列第 2 行和第 3 列中也有字符串。我认为解决方案可能是,从数据框中选择所有数值并转换为 int。你能提出什么建议吗?

标签: pythonpandastypesinteger

解决方案


您的数据框中有一些空值。首先,您需要将它们转换为整数(例如此处为 0)。为此使用df.fillna。然后选择所有数字列。

cols = ["num_col1", "num_col2"]
df[cols] = df[cols].astype("int64")

推荐阅读