我有两个熊猫系列:ser
和ovr
.
ser
包含对象,并且是对象和ovr
的稀疏。并共享相同的索引,我想用对应的值覆盖每个值,除非对应的值是。Series
None
ser
ovr
ser
ovr
None
什么是实现这一目标的有效方法?
我建议对缺失数据使用 NaN 而不是 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 的值:
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