gpt4 book ai didi

python - 检查值是否在 DataFrame 系列 ("The truth value of a Series is ambiguous"错误中)

转载 作者:行者123 更新时间:2023-12-01 00:51:06 27 4
gpt4 key购买 nike

我正在尝试检查 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com