首页 > 解决方案 > Python Pandas加权虚拟变量?

问题描述

有没有办法使用熊猫获得加权虚拟变量?我有两个数据框,一个带有分类值,另一个带有连续变量...

df1 = pd.DataFrame(data=[[1., 3., 2.], [2., 1.], [0.], [0., 2., 2.], [0., 2.]])
df2 = pd.DataFrame(data=[['a', 'c', 'd'], ['a', 'b'], ['c'], ['b', 'c', 'd'], ['a', 'b']])

这个想法是获得一个虚拟数据帧,但使用加权虚拟变量......意思是:对于第 0 行,1.0 + 3.0 + 2.0 = 100%......虚拟变量应该是,而不是 0 和 1:

a = 1.0/6.0
c = 3.0/6.0
d = 2.0/6.0

每个结果都应该是虚拟数据帧。

我实际上拥有的是0或1,如果是NaN则为0,如果存在则为1...

dummies = pd.get_dummies(df2, columns=[0,1,2])

这是我的输出

我打算做的是获得相同的矩阵......但是,而不是1s和0s获得加权虚拟变量......a,b和c对我的模型具有不同的重要性......

标签: pythonpandasone-hot-encodingdummy-variabledummy-data

解决方案


推荐阅读