作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试检查 DataFrame 列中的值是否包含在单独列的系列中。我收到“ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。”
我对此进行了研究,但不太明白为什么我在这个特定实例中收到此错误。
我尝试过使用 .contains 函数。
DataFrame结构的简化版本如下:
df
index id id_list in_series (desired return column]
1 23 [1,2,34,56,75] False
2 14 [1,5,14,23,45] True
3 2 [1,2,4,25,37] True
4 14 [2,4,34,26,77] False
5 27 [1,6,19,27,50] True
a = df['id']
b = df['id_list]
df['in_series'] = b.str.contains(a, regex=False)
有没有更好的方法来解决这个问题?
最佳答案
我们可以使用 apply
来检查 id_list
中是否存在 id
的少数情况之一:
df['in_series'] = df.apply(lambda x: str(x['id']) in ', '.join(str(y) for y in x['id_list']),axis=1)
id id_list in_series
0 23 [1, 2, 34, 56, 75] False
1 14 [1, 5, 14, 23, 45] True
2 2 [1, 2, 4, 25, 37] True
3 14 [2, 4, 34, 26, 77] False
4 27 [1, 6, 19, 27, 50] True
关于python - 检查值是否在 DataFrame 系列 ("The truth value of a Series is ambiguous"错误中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56570743/
我是一名优秀的程序员,十分优秀!