在pandas中,Series.map的na_action参数执行

时间:2016-09-13 02:19:50

标签: pandas

使用Series.map时,na_action会做什么?文档不清楚,我没有提出一个结果受参数影响的例子。

1 个答案:

答案 0 :(得分:2)

尽管文档中的解释非常清楚,但如果您使用以NaN作为输入的数字函数并将其作为NaN返回,则很难看到发生了什么。对于其他没有阅读过文档的人,他们说如果na_action ='ignore',NA值将不会传递给映射函数,如果na_action = None(默认值),它们将会。

这是一个显示差异的简单例子:

import pandas as pd
import numpy as np

s = pd.Series([1, 2, 3, np.nan])

s2 = s.map(lambda x: 'this is a string {}'.format(x), na_action=None)

0    this is a string 1.0
1    this is a string 2.0
2    this is a string 3.0
3    this is a string nan
dtype: object

s3 = s.map(lambda x: 'this is a string {}'.format(x), na_action='ignore')

0    this is a string 1.0
1    this is a string 2.0
2    this is a string 3.0
3                     NaN
dtype: object

如果您在自己的分析中有更好的示例,则应考虑在pandas repo上创建问题,以便改进文档并帮助其他人理解。