2017-12-06 1 views
0

次の2つの文が異なるdtypeを生成するのはなぜですか?なぜ定義されたインデックスを持つpandas.Seriesの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 

第2シリーズは、dictインデックスを新しい範囲で置き換えます。なぜ私はそれが異なるdtypeを生成する必要がありますか?

答えて

1

NaNは、欠損データを表すために使用されます。 NaNも浮動小数点値です。そのため、シリーズにNaNを含めるには、浮動小数点値を保持できるdtype(たとえば、float64またはobjectですが、int64ではなく)が必要です。

+2

も参照してください。https://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na – chrisb

関連する問題