import numpy as np
import pandas as pd
s = pd.Series(['bat', 'bear', 'caT', np.nan])
mask = s.str.endswith(('t', 'r'))
mask
Out[22]:
0 True
1 True
2 False
3 NaN
dtype: object
这时候由于有空值,如果直接取mask对应数据,会报错,因为不能用非布尔值来取
s[mask]
ValueError: Cannot mask with non-boolean array containing NA / NaN values
我们可以先填补空缺值,再进行取数
mask.fillna(False, inplace=True)
s[mask]
Out[27]:
0 bat
1 bear
dtype: object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)