Для меня работает создать один столбец DataFrame
:
df = df.stack(dropna=False).to_frame().apply(le.fit_transform)[0].unstack()
print (df)
col1 col2 col3
0 1 1 0
1 1 1 1
2 2 2 1
Другая идея заключается в использовании DataFrame.replace
с 'True'
вместо True
, потому что:
У меня есть фрейм данных со значениями true / false, хранящимися в строковом формате.
Если null
отсутствуют значения:
df = df.replace({'True':2, 'False':1, np.nan:0})
Если null
являются строками null
:
df = df.replace({'True':2, 'False':1, 'null':0})
print (df)
col1 col2 col3
0 2 2 1
1 2 2 2
2 0 0 2