【发布时间】:2021-11-08 02:50:28
【问题描述】:
我有一个数据集 catalog,包含 3 列:产品 ID、品牌名称和产品类别。
import pandas as pd
catalog = {'product_id': [1, 2, 3, 1, 2, 4, 3, 5, 6],
'brand_name': ['FW', 'GW', 'FK','FW','GW','WU','FK','MU', 'AS'],
'product_class': ['ACCESSORIES', 'DRINK', 'FOOD', 'ACCESSORIES', 'DRINK', 'FURNITURE','FOOD', 'ELECTRONICS', 'APPAREL']}
df = pd.DataFrame(data=catalog)
假设我有一个产品 ID prod = [1,3,4]. 的列表,现在,使用 Python,我想根据 product_id 列出与此列表 prod 对应的所有品牌名称。如何仅使用 groupby() 和 get_group() 函数来做到这一点?我可以使用pd.DataFrame() 结合zip() 函数来做到这一点,但是效率太低,因为我需要单独获取每一列。
预期输出(在数据框中)
Product_id Brand_name
1 'FW'
3 'FK'
4 'WU'
任何人都可以提供一些帮助吗?
【问题讨论】:
标签: python-3.x dataframe group-by