我是 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
非常感谢您的帮助。
答案 0 :(得分:1)
当你用字典创建系列时,键被当作索引,值就是值。所以,
pd.Series(sdata)
会给你:
a 3
b 5
c 8
d -2
dtype: int64
现在,如果另外将 index
传递给 pd.Series(some_dict)
,它相当于一个 reindex
:
pd.Series(sdata).reindex(states)
并且由于 states
不包含 sdata
中的任何键,因此您会得到一个由 states
索引并包含所有 NaN
的系列。
如果您确定订单,您可以使用以下命令创建系列:
pd.Series(list(sdata.values()), index=states)
输出:
place1 3
place2 5
place3 8
place4 -2
dtype: int64