我知道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是标识的缩写。
答案 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