2

我是 pandas 的新手,我首先尝试读取一个完全由1s 和0s 组成的表,并且我正在使用该read_csv函数来完成它。一切正常,我得到一个以 int64 作为列类型的 DataFrame。当我引入NaN值时,问题就出现了。在这种情况下,我得到一个列类型为float64. 这是预期的行为吗?值是否NaN与类型不兼容int

我也尝试通过 do 将 DataFrame 与 float 列一起转换DataFrame(data, dtype=numpy.int64),但在这种情况下,我得到类似:

                    col1   col2
row1 -9223372036854775808      1
row2                    1      0
4

1 回答 1

1

不幸的是,整数 dtype 列不支持 NAs / NaN (http://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na)。但是你描述的第二件事是一个错误。创建一个关于它的 GitHub 问题:

https://github.com/pydata/pandas/issues/846

于 2012-03-01T23:52:59.817 回答