如何在数据框中强制dtype为整数

时间:2016-06-07 14:57:05

标签: python pandas dataframe nan

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

我尝试过以下方法:

df['field'] = df['field'].astype(int)

这不起作用。错误是:

  

ValueError:无法将NA转换为整数

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

这会将dtype转换为float64,而不是我所看到的所有内容。

附录:

SQL Alchemy正在使用数据框来填充Oracle数据库中的表。该表具有此时未填充的整数字段。数据框中的字段加载None,然后具有dtype对象。当加载这个数据时,它似乎被解释为CLOB类型,并且Oracle全身都在呕吐。如果我将None更改为1则可以正常工作。但这不是一种选择。

1 个答案:

答案 0 :(得分:1)

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