2013-09-24 81 views

回答

4

I recommend using NaN for missing data rather than None(注:此技術也適用於無)。

In [1]: s1 = pd.Series([1, np.nan, 3, 4, 5, np.nan]) 

In [2]: s2 = pd.Series([7, 2, 3, np.nan, np.nan]) 

首先看到S2值不屬於NaN的(或無),這些是那些要更新的s1:

In [3]: s2[s2.notnull()] 
Out[3]: 
0 7 
1 2 
2 3 
dtype: float64 

然後你就可以更新S1與這些值:

In [4]: s1.update(s2[s2.notnull()]) 

In [5]: s1 
Out[5]: 
0  7 
1  2 
2  3 
3  4 
4  5 
5 NaN 
dtype: float64 
+0

謝謝!這很好。順便說一句,爲什麼你推薦NaN優於None的缺失值,即使當'Series'是dtype'object'? –

+1

@鄧佩爾http://stackoverflow.com/questions/17534106/what-is-the-difference-between-nan-and-none/17534682#17534682 –

+0

@AndyHayden我真的需要這個問題的答案,但找不到它在Google上已經很長時間了。我們是否可以編輯問題以擺脫那些不相關的稀疏東西,並將標題中的「覆蓋」更改爲「替換」或「更新」? – LondonRob