2017-08-31 213 views
1
a = pd.Series([0.1,0.2,0.3,0.4]) 
>>> a.loc[[0,1,2]] 
0 0.1 
1 0.2 
2 0.3 
dtype: float64 

当一个不存在的索引加入到现有的沿要求索引操作都将返回NaN,它返回NaN(这是我所需要的)。从一个熊猫系列

>>> a.loc[[0,1,2, 5]] 
0 0.1 
1 0.2 
2 0.3 
5 NaN 
dtype: float64 

但是,当我请求完全不存在的指标,我得到一个错误

>>> a.loc[[5]] 
Traceback (most recent call last): 
    File "<pyshell#481>", line 1, in <module> 
    a.loc[[5]] 
KeyError: 'None of [[5]] are in the [index]' 

有没有一种办法,以避免诉诸try/except解决方案有再次得到了喃?

+0

https://stackoverflow.com/questions/37147735/remove-nan-value-from-a-set我认为这应该帮助 – galeej

回答

4

尝试用pd.Series.reindex代替。

out = a.reindex([0,1,2, 5]) 
print(out) 

0 0.1 
1 0.2 
2 0.3 
5 NaN 
dtype: float64 

out = a.reindex([5]) 
print(out) 

5 NaN 
dtype: float64