我有两个大熊猫系列:ser
和ovr
。
ser
包含对象,ovr
是对象的稀疏Series
和None
。 ser
和ovr
共享相同的索引,我想用ser
的相应值覆盖ovr
的每个值,除非相应的值为{{1 }}
实现这一目标的有效方法是什么?
答案 0 :(得分:4)
I recommend using NaN for missing data rather than None(注意:此技术也适用于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])
首先看到不是NaN(或None)的s2值,这些是你想用s1更新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