python - Python 字典新索引返回 NaN 值
问题描述
我是 Python 新手,刚开始学习 Pandas。
我创建了一个字典并想更改索引。
但是,新索引显示所有值的 NaN,我预计分别为 3、5、8、-2。
我在这里附上了我的代码供您参考:
states = ['place1','place2','place3','place4']
sdata = dict(a=3,b=5,c=8,d=-2)
obj4 = pd.Series(sdata, index=states)
print(obj4)
place1 NaN
place2 NaN
place3 NaN
place4 NaN
dtype: float64
非常感谢你的帮助。
解决方案
当您使用字典创建系列时,键被视为索引,值是值。所以,
pd.Series(sdata)
会给你:
a 3
b 5
c 8
d -2
dtype: int64
现在,如果另外,您传递index
给pd.Series(some_dict)
它相当于 a reindex
:
pd.Series(sdata).reindex(states)
并且由于states
中不包含任何键sdata
,因此您会得到一个由索引states
并包含 all的系列NaN
。
如果您确定订单,您可以使用以下命令创建系列:
pd.Series(list(sdata.values()), index=states)
输出:
place1 3
place2 5
place3 8
place4 -2
dtype: int64
推荐阅读
- django - 发生错误时如何防止 Django 向 ADMIN 发送某些信息
- python-3.x - 如何修复 TypeError:G 必须是 'd' 矩阵?
- node.js - 如何选择与 multer-s3 一起使用的 s3 配置文件
- android - 可靠的 BLE 广告
- language-agnostic - 规范模式应该如何处理空候选?
- python - 如何使用脚本停止 python 文件
- java - 如何在春季从控制器中的表单中获取输入日期?
- java - 如何在切换相应选项卡时从 JTabbedPane 从 JPanel 调用函数?
- python - TensorFlow 准确度未更新
- python - pip 和 setuptools 的条件依赖