Python 如何在数据帧中将数据类型强制为整数

Python 如何在数据帧中将数据类型强制为整数,python,pandas,dataframe,nan,Python,Pandas,Dataframe,Nan,我正在使用一个数据帧,它有一个列,其中所有值都是None。默认情况下,此列的数据类型为object。我需要它是一个整数类型,可能是int64。为什么是无关紧要的;这就是我需要的 我尝试了以下方法: df['field'] = df['field'].astype(int) 这是行不通的。错误是: ValueError:无法将NA转换为整数 这会将数据类型转换为float64,这根本不是我想要的 增编: SQL Alchemy正在使用dataframe来填充Oracle数据库中的表。该表有一个整

我正在使用一个数据帧,它有一个列,其中所有值都是None。默认情况下,此列的数据类型为object。我需要它是一个整数类型,可能是int64。为什么是无关紧要的;这就是我需要的

我尝试了以下方法:

df['field'] = df['field'].astype(int)
这是行不通的。错误是:

ValueError:无法将NA转换为整数

这会将数据类型转换为
float64
,这根本不是我想要的

增编:


SQL Alchemy正在使用dataframe来填充Oracle数据库中的表。该表有一个整型字段,此时未填充该字段。dataframe中的字段加载为None,其数据类型为object。当这个数据被加载时,它似乎被解释为CLOB类型,Oracle会吐得满身都是。如果我将“无”更改为1,则效果良好。但这不是一个选项。

有一件事我没有尝试过,因为它不应该起作用,实际上就是答案。将np.NaN替换为None将导致表中所需字段中填充NULL

insert_data['data_set_key'] = pd.to_numeric(insert_data['data_set_key'], errors='coerce')