我有一些产品的数据集及其单位和价格。我想研究属于一种类别的价格。对于例如
数据看起来像这样
CATEGORY UNIT PRICE
Gloves pair 50
Gloves pack 100
Gloves unit 80
Comb set 150
Comb pack 100
考虑到以上数据,可以将数据分类为两个容器Gloves
和Comb
,然后分别包含3和2个容器。
Gloves - (pair, pack, unit)
,Comb - (set, pack)
。
我确实找到了一些有用的答案,但这仅适用于一维数据。我该如何处理此类数据?
编辑:链接groupby并不是很有帮助,因为它显示了2列的分组,但是在我的案例中,我需要对3列进行分组(类别->单位->价格)。
答案 0 :(得分:1)
您可以在groupby
上执行CATEGORY
,然后对apply
进行list
操作UNIT
df.groupby('CATEGORY')['UNIT'].apply(list).reset_index()
CATEGORY UNIT
0 Comb [set, pack]
1 Gloves [pair, pack, unit]
df.groupby('CATEGORY')['UNIT'].apply(list).reset_index().values
array([['Comb', list(['set', 'pack'])],
['Gloves', list(['pair', 'pack', 'unit'])]], dtype=object)