【发布时间】:2021-12-12 22:28:18
【问题描述】:
我在 DataFrame 中有一个列,其中包含字符串或字符串元组。我想检查该列中是否存在某个值元组。
s = pd.Series(['a', ('b', 'c', 'd')])
'a' in s.values
这将返回 True。然而:
('b', 'c', 'd') in s.values
返回False,带有警告:FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison。
我该如何解决这个问题?
【问题讨论】:
-
我很确定
x in y是for循环的简写。你可以做any(x==('b','c','d') for x in s)。 -
对于 numpy 不喜欢的参差不齐的嵌套序列数组似乎很奇怪。您可以改用该列表:
('b', 'c', 'd') in s.tolist() -
使用
s.tolist()显然是最好和最简单的选择。非常感谢!
标签: python pandas dataframe tuples