为什么以下2个语句会生成不同的dtype?
pd.Series({0: 1001, 1: 1002, 2: 1003})
0 1001
1 1002
2 1003
dtype: int64
pd.Series({0: 1001, 2: 1002, 4: 1003}, index=range(3))
0 1001.0
1 NaN
2 1002.0
dtype: float64
第二个系列用新范围替换dict索引。我不明白为什么它会产生不同的dtype?
答案 0 :(得分:2)
NaN
用于表示缺失的数据。 NaN
也是一个浮点值。因此,对于要包含NaN
的系列,它必须具有能够保持浮点值的dtype(例如float64
或object
,而不是int64
)。