使用Pandas从字典创建系列
data_dict={'Ahmed':90,'Ali':85,'Omar':80}
series=pd.Series(data_dict,index=['Ahmed','Ali','Omar'])
print("Series :",series)
series2=pd.Series(data_dict,index=['Ahmed','Ali','Omar','Karthi'])
print("Series 2 :",series2)
我尝试了这个代码,而练习Pandas,我收到的输出如下:
Series :
Ahmed 90
Ali 85
Omar 80
dtype: int64
Series 2 :
Ahmed 90.0
Ali 85.0
Omar 80.0
Karthi NaN
dtype: float64
问:为什么在系列2中数据类型从int改为float?
我只是想知道如果我在索引中添加一个不属于字典的额外字段,输出会是什么。我得到了NaN,但是数据类型从int改为float。
2条答案
按热度按时间ffscu2ro1#
当向
pandas.Series
提供字典时,键用作索引,值用作数据。实际上,您只需要:
如果您使用列表作为数据源,则
index
非常有用:当您同时提供这两个选项时,它将充当
reindex
:在这种情况下,缺失的索引将使用
NaN
作为默认值填充,这将强制使用float64类型。您可以使用支持integer NA的
Int64
dtype来防止更改:输出:
p4rjhz4m2#
NaN
是considered a special floating point value(IEE 754)。series2
中没有Karthi
的值,因此它会自动填充为NaN
。尝试将其中一个整数转换为np.NaN
,您将看到相同的行为。包含浮点的序列将自动转换为浮点。输出: