python - 当我制作字典时,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}]
解决方案
您可以使用函数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}]
推荐阅读
- google-cloud-platform - GCP - 以独立于环境的方式获取 ID 令牌
- java - ACTION_DIAL- "content://contacts/people/1 " 拨号器中没有输入第一个联系人号码?
- tensorflow - 期望一个可调用的,发现不可调用的 tensorflow_federated.python.learning.model_utils.EnhancedTrainableModel
- php - 查询 API 直到没有结果
- mysql - MYSQL - 语法错误,意外'@',期待 $end
- reporting-services - 在 Dynamics 365 上通过代码 C# 生成报告
- react-native - FlatList 在添加新数据时重新渲染所有数据
- java - 单击部分标记内的元素
- excel - 如何创建 Excel VBA 以在 MS Word 文档的页眉/页脚中查找/替换文本?
- excel - Excel求解器宏偏移和重复