首页 > 解决方案 > 按日期问题分组的分类变量的二进制矢量化编码

问题描述


我在尝试以某种二进制编码对其进行矢量化时遇到问题,但在多行时会聚合(因为分类变量的变体是非排他的),但要避免将其与其他日期合并。(蟒蛇和熊猫)

假设这是数据

id1 id2 类型 月测量
105 50 生长 04-2020
105 50 前进 04-2020
44 29 前进 04-2020
105 50 撤退 05-2020
105 50 缩小 05-2020

它必须像这样结束

id1 id2 生长 缩小 前进 撤退 月测量
105 50 1 0 1 0 04-2020
44 29 0 0 1 0 04-2020
105 50 0 1 0 1 05-2020

我一直在尝试各种转换、lambda 函数、pandas get_dummies,并尝试将它们按 2 个 id 和日期分组,但我找不到方法。

希望我们能解决!提前致谢!:)

标签: pythonpandasdataframeencodingone-hot-encoding

解决方案


这是crosstab

pd.crosstab([df['id1'],df['id2'],df['month.measure']], df['type']).reset_index()

输出:

type  id1  id2 month.measure  advancing  growing  retreating  shrinking
0      44   29       04-2020          1        0           0          0
1     105   50       04-2020          1        1           0          0
2     105   50       05-2020          0        0           1          1

推荐阅读