首页 > 解决方案 > 当我制作字典时,Pandas 仍然将整数转换为浮点数

问题描述

当我尝试将混合类型系列制作成字典时,Pandas 仍然会将整数变成浮点数。

建议的解决方法对我不起作用。我尝试过投射到 object 和 using iteritems,并且两者都在一起。我正在使用熊猫版本 0.24.2

test_series = pd.Series([1,1.3])
result = [{index:value} for index,value in test_series.astype(object).iteritems()]
print (results)

预期的 :

[{0: 1}, {1: 1.3}]

实际的 :

[{0: 1.0}, {1: 1.3}]

标签: pythonpandas

解决方案


您可以使用函数is_integer()来检查您的浮点数是否为整数

test_series = pd.Series([int(1),1.3])
results = [{index:int(value)} if value.is_integer() else {index:value} for index,value in test_series.iteritems()]
print (results)

出去 :

[{0: 1}, {1: 1.3}]

推荐阅读