我有一个像这样的数据帧'df' -
Id v1 v2
0 A 0.23
1 B 0.65
2 NaN 0.87
Run Code Online (Sandbox Code Playgroud)
如果我使用
df1 = get_dummies(df)
df1
Run Code Online (Sandbox Code Playgroud)
我明白了
Id v1_A v1_B v2
0 1 0 0.23
1 0 1 0.65
2 0 0 0.87 .
Run Code Online (Sandbox Code Playgroud)
如何有效地获得以下内容?
Id v1_A v1_B v2
0 1 0 0.23
1 0 1 0.65
2 NaN NaN 0.87 .
Run Code Online (Sandbox Code Playgroud)
我最初使用它,但它需要太长时间
import numpy as np
dfv1 = df[[v1]] #Slicing the v1 column
dfs = get_dummies(dfv1)
dfsum = dfs.apply(np.sum, axis=1) #Calculating row by row sum of …Run Code Online (Sandbox Code Playgroud)