df = pd.DataFrame({a:[1,2], b:[None,3]})
df.dtypes
输出:
a int64
b float64
然后:
df.b.astype(int)
输出:
*** ValueError: Cannot convert NA to integer
一般来说,我希望如果一种数字类型接受 NA(例如 float64),那么所有类型都会接受 NA。这背后的原因是什么?
请您参考如下方法:
这是基于数字的表示方式。花车是IEEE-754 ,它定义了表示 NaN 或“不是数字”的特定位模式。整数通常有更简单的表示,并且没有 NaN 的概念。
Pandas 文档包含一个 more extended discussion的问题。
