gpt4 book ai didi

python - Python DataFrame 中的多级过滤器

转载 作者:行者123 更新时间:2023-11-28 21:35:06 25 4
gpt4 key购买 nike

考虑以下 Pandas 数据框:

import pandas as pd

products = [{'SKU': 'XYZ1', 'Category': 'A', 'Sub_Category': 'A1', 'Color': 'Red'},
{'SKU': 'XYZ2', 'Category': 'A', 'Sub_Category': 'A2', 'Color': 'Red'},
{'SKU': 'XYZ3', 'Category': 'A', 'Sub_Category': 'A2', 'Color': 'BLACK'},
{'SKU': 'ABC1', 'Category': 'B', 'Sub_Category': 'B1', 'Color': 'Red'},
{'SKU': 'ABC2', 'Category': 'B', 'Sub_Category': 'B1', 'Color': 'BLACK'},
{'SKU': 'ABC3', 'Category': 'B', 'Sub_Category': 'B2', 'Color': 'BLACK'}]

df = pd.DataFrame(products)

产品中的每个 SKU 都是唯一的,并映射到层次结构(例如类别/子类别)以及属性(例如颜色

我想了解如何根据产品主数据的过滤器来过滤 SKU。如果没有为层次结构/属性的任何级别提供选项,请考虑允许的所有选项。

例如

类别 = ['A', 'B'](A 或 B)的所有产品

Sub_Category = ['B1'] 且颜色 = ['Red', 'Black'](B1 为红色或黑色)的所有产品

谢谢!

最佳答案

您可以query你的数据框:

L1 = ['A', 'B']
L2 = ['Red', 'BLACK']

res1 = df.query('Category in @L1')
res2 = df.query('Sub_Category == "B1" and Color in @L2')

关于python - Python DataFrame 中的多级过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52666914/

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