Python字典新索引返回NaN值

2024-06-24 12:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,刚刚开始学习熊猫

我创建了一个字典,想更改索引

然而,新的索引显示了所有值的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

非常感谢你的帮助


Tags: 代码index字典nandictseriespdstates
1条回答
网友
1楼 · 发布于 2024-06-24 12:33:26

当您使用字典创建序列时,键被作为索引,值也就是值。所以

pd.Series(sdata)

将给你:

a    3
b    5
c    8
d   -2
dtype: int64

现在,如果另外将index传递给pd.Series(some_dict),则它相当于一个reindex

pd.Series(sdata).reindex(states)

由于statessdata中不包含任何键,因此可以得到一个由states索引的序列,并包含所有NaN

如果您对订单有把握,则可以创建以下系列:

pd.Series(list(sdata.values()), index=states)

输出:

place1    3
place2    5
place3    8
place4   -2
dtype: int64

相关问题 更多 >