5

我有两个熊猫系列:serovr.

ser包含对象,并且是对象和ovr的稀疏。并共享相同的索引,我想用对应的值覆盖每个值,除非对应的值是。SeriesNoneserovrserovrNone

什么是实现这一目标的有效方法?

4

1 回答 1

7

我建议对缺失数据使用 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
于 2013-09-24T22:17:18.587 回答