gpt4 book ai didi

python - Pandas bool 索引 : matching a set

转载 作者:行者123 更新时间:2023-12-04 09:34:42 25 4
gpt4 key购买 nike

我想弄清楚如何提取 Pandas 数据框中的条目,其中一列中的值与给定的集合匹配。下面是一个例子:

num = 5
df = pd.DataFrame(np.zeros((num,3)),index = np.arange(num),columns = ['ID','color','shape'])
df['color'] = ['red','red','blue','blue','yellow']
df['shape'] = ['square','triangle','triangle','circle','circle']
df['ID'] = np.arange(num,num+5)
如果我只想选择 'blue'我可以做的条目 df[df.color == 'blue'] ,甚至得到 ID s: df[df.color == 'blue'].ID ,然后以这种方式执行其他操作。这如何扩展到一组这样的标准?如果我想返回 blue 的所有条目或 yellow ,或一些通用集 colors = ['blue','yellow','pink']最明显的事情(对我来说)是
df[df.color in colors]
但这给出了: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().这样做的正确 Pandas 方式是什么?

最佳答案

怎么样isin :

df[df.color.isin(colors)]
输出:
   ID   color     shape
2 7 blue triangle
3 8 blue circle
4 9 yellow circle

关于python - Pandas bool 索引 : matching a set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62646249/

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