该
.str方法在对象列上 *** 作。此类列中可能包含非字符串值,结果是这些行而不是
pandas返回。然后抱怨,因为这不是布尔值。
NaN``False``np
幸运的是,有一个参数可以解决这个问题:
na=False
a["properties_path"].str.contains('blog', na=False)
或者,您可以将条件更改为:
a["properties_path"].str.contains('blog') == True#ora["properties_path"].str.contains('blog').fillna(False)
样品
import pandas as pdimport numpy as npdf = pd.Dataframe({'a': [1, 'foo', 'bar']})conds = df.a.str.contains('f')#0 NaN#1 True#2 False#Name: a, dtype: objectnp.select([conds], ['XX'])#ValueError: invalid entry 0 in condlist: should be boolean ndarrayconds = df.a.str.contains('f', na=False)#0 False#1 True#2 False#Name: a, dtype: boolnp.select([conds], ['XX'])#array(['0', 'XX', '0'], dtype='<U11')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)