gpt4 book ai didi

python - 按特定列的可能前缀列表过滤数据框

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:56 24 4
gpt4 key购买 nike

我想做的是:

options = ['abc', 'def']
df[any(df['a'].str.startswith(start) for start in options)]

我想应用一个过滤器,所以我只有“a”列中的值以给定选项之一开头的条目。

下一个代码可以工作,但我需要它使用多个前缀选项...

start = 'abc'
df[df['a'].str.startswith(start)]

错误信息是

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

阅读Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()但还没有了解如何这样做。

最佳答案

您可以将选项元组传递给 startswith

df = pd.DataFrame({'a': ['abcd', 'def5', 'xabc', '5abc1', '9def', 'defabcb']})
options = ['abc', 'def']
df[df.a.str.startswith(tuple(options))]

你得到

    a
0 abcd
1 def5
5 defabcb

关于python - 按特定列的可能前缀列表过滤数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52084485/

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