将数据分类到不同的容器中

时间:2019-04-25 11:07:59

标签: python pandas machine-learning scikit-learn

我有一些产品的数据集及其单位和价格。我想研究属于一种类别的价格。对于例如

数据看起来像这样

CATEGORY   UNIT    PRICE
Gloves     pair    50
Gloves     pack    100
Gloves     unit    80
Comb       set     150
Comb       pack    100

考虑到以上数据,可以将数据分类为两个容器GlovesComb,然后分别包含3和2个容器。 Gloves - (pair, pack, unit)Comb - (set, pack)

我确实找到了一些有用的答案,但这仅适用于一维数据。我该如何处理此类数据?

编辑:链接groupby并不是很有帮助,因为它显示了2列的分组,但是在我的案例中,我需要对3列进行分组(类别->单位->价格)。

1 个答案:

答案 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)