jus*_*zzy 2 python dataframe pandas
我想创建一个新列,如果在现有列中找到子字符串,它将返回 True,反之亦然。
因此,在这个示例中,我想在 a 列中搜索子字符串“abc”,并创建一个布尔列 b,无论 a 列是否包含该字符串。
a b
zabc True
wxyz False
abcy True
defg False
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
df['b'] = df['a'].map(lambda x: True if 'abc' in x else False)
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误,说“‘NoneType’类型的参数不可迭代”
我也尝试过
df['b'] = False
df['b'][df['a'].str.contains('abc')] = True
Run Code Online (Sandbox Code Playgroud)
但我收到错误“无法使用包含 NA / NaN 值的向量进行索引”
有人可以解释一下这些错误以及我能做些什么吗?我已确认 ['a'] 存在并包含值。但有些行包含 None 值。
这是怎么做的。
df["b"] = df["a"].str.contains("abc")
Run Code Online (Sandbox Code Playgroud)
关于你的错误。
似乎您的 a 列中有 np.nan 值,那么方法 str.contain 将返回这些值的 np.nan ,当您尝试使用包含 np.nan 值的数组进行索引时,pandas 告诉您这是不可能的。
| 归档时间: |
|
| 查看次数: |
5942 次 |
| 最近记录: |