Pandas应用于所有值,除了缺失值

6
假设我有以下一组数据:

[1, 2, NAN, 4]

如果我执行以下操作:
series.apply(lambda a: a+2)

由于NAN,我会遇到错误。在应用我的更改时,是否有一种优雅的方式来保留NAN?


https://dev59.com/R18d5IYBdhLWcg3wnzVz - ayhan
1个回答

14

试一试:

In [32]: s
Out[32]:
0    1.0
1    2.0
2    NaN
3    4.0
dtype: float64

In [33]: s.apply(lambda a: a+2 if pd.notnull(a) else a)
Out[33]:
0    3.0
1    4.0
2    NaN
3    6.0
dtype: float64

3
非常感谢,但如果它们是字符串呢? np.isnan("a") 会抛出一个错误。 - user1008537
请使用 pd.isna(a) 来判断字符串。 - wikiselev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接