使用来自另一列的值创建虚拟变量

时间:2020-03-07 04:15:34

标签: python pandas

我知道pandas具有get_dummies()函数。我想做的不仅是将1/0值添加到其中,还使用另一列中的值。

我有以下示例:

Id A B
1 a 1
2 a 2
3 b 3
4 b 4
5 b 5
6 c 6

我想把它变成:

ID A_a A_b A_c
1 1 0 0
2 2 0 0
3 0 3 0
4 0 4 0
5 0 5 0
6 0 0 6

Dummary变量的值来自B列。ID是标识的缩写。

1 个答案:

答案 0 :(得分:4)

您可以get_dummies用于“ A”列,multiply用于B列:

pd.get_dummies(df['A'],prefix='A').mul(df['B'],axis=0)

    A_a  A_b  A_c
Id               
1     1    0    0
2     2    0    0
3     0    3    0
4     0    4    0
5     0    5    0
6     0    0    6