我是pandas的新手,我已经开始尝试读取一个完全由1
s和0
s组成的表,我正在使用read_csv
函数来完成它。一切都很好,我得到了一个以int64为列类型的DataFrame。当我引入NaN
值时,问题就出现了。在这种情况下,我得到一个列类型为float64
的DataFrame。这是预期的行为吗?NaN
值是否与int
类型不兼容?
我还尝试过通过执行DataFrame(data, dtype=numpy.int64)
来强制转换带有float列的DataFrame,但在这种情况下,我得到了如下内容:
col1 col2
row1 -9223372036854775808 1
row2 1 0
NAs/NaN在integer dtype列中不受支持(http://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-对于整数na)。但你描述的第二件事是一个bug。创建关于它的GitHub问题:
https://github.com/pydata/pandas/issues/846