为什么不同推断的pandas dtype。具有已定义索引的系列?

时间:2017-12-06 22:09:01

标签: python pandas

为什么以下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?

1 个答案:

答案 0 :(得分:2)

NaN用于表示缺失的数据。 NaN也是一个浮点值。因此,对于要包含NaN的系列,它必须具有能够保持浮点值的dtype(例如float64object,而不是int64)。