一种在Python中对数组的多个分组数组进行热编码

时间:2018-08-08 20:16:59

标签: pandas numpy dataframe data-cleaning one-hot-encoding

我正在尝试获取一个具有ID号和4个分类产品级别的购买数据集,并对其中的一个进行热编码,以便根据每个产品级别将它们的选择表示为所有可能的选择。

样本数据:

ID Number |Product Level 1 |Product Level 2 |Product Level 3 |Product Level 4
1       Automobile           Car              Wheel            Rim
1       Automobile           Boat             Mast             Bearing
1       Hardware           Desktop           Mouse             Sensor Beam
4       Health             Men's Health      General           Water Bottle

等等

其中有许多产品级别,并且每个产品级别都会继续缩小下一个产品级别的选项(汽车是最通用的,然后产品级别2特定于产品级别1,产品级别3特定于产品级别2。

我的目标输出是拥有一个由数组组成的数组。这会将一个热编码产品级别分组到其ID数组中。这将是一个像这样的数组:Array [ID编号索引(1,2,3 ...)] [订单号] [产品级别] 这样Array [0] [0] [3]会从Rim返回一个热编码。 Array [0]将是ID号1的所有购买商品,而Array [0] [0]将是ID号1的首次购买的4个产品级别的唯一编码。

样本已满: [[[[0,1,0,0],[1,0,0,0],[1,0,0,0],[0,1]],[[....]],[ ...]],[[...]]]

我目前已按ID对数据进行了分组,然后按四个产品级别进行了排序,即:

arr = [[['汽车','汽车','车轮','轮辋'],['汽车','船','桅杆','轴承'],['硬件','台式机','鼠标','传感器束']],[['健康','男性健康','一般','水壶']]]

如何使用python对每个产品级别进行一次热编码,然后根据我的需要和需要将它们重新组合为最终输出?

0 个答案:

没有答案