Я получаю данные следующим образом:
train.MSZoning.value_counts()
Out:
RL 1151
RM 218
FV 65
RH 16
C (all) 10
Name: MSZoning, dtype: int64
И я пытаюсь закодировать их с помощью метки следующим образом:
C (all) => 0
Fv => 1
RH => 2
RL => 3
RM => 4
ТАК, думаю, я снова напечатаю value_counts()
, что будетбыть таким:
Out:
0 10
1 65
2 16
3 1151
4 218
И я пытаюсь использовать Pandas.get_dummies()
вот так:
t = pd.get_dummies(train.MSZoning)
print(t)
Out:
C (all) FV RH RL RM
0 0 0 0 1 0
1 0 0 0 1 0
2 0 0 0 1 0
3 0 0 0 1 0
4 0 0 0 1 0
5 0 0 0 1 0
...
И я печатаю pd.Dataframe(t).describe()
, чтобы получить его описание.
C (all) FV RH RL RM
count 1460.000000 1460.000000 1460.000000 1460.000000 1460.000000
mean 0.006849 0.044521 0.010959 0.788356 0.149315
std 0.082505 0.206319 0.104145 0.408614 0.356521
min 0.000000 0.000000 0.000000 0.000000 0.000000
25% 0.000000 0.000000 0.000000 1.000000 0.000000
50% 0.000000 0.000000 0.000000 1.000000 0.000000
75% 0.000000 0.000000 0.000000 1.000000 0.000000
max 1.000000 1.000000 1.000000 1.000000 1.000000
НО при попытке использовать pd.get_dummies()
таким образом я получаю что-то другое, что меня озадачило:
train.MSZoning = pd.get_dummies(train.MSZoning)
Out:
print(train.MSZoning)
0 1
1 1
2 1
3 1
4 1
5 1
...
train.MSZoning.describe()
Out:
count 1460.000000
mean 0.993151
std 0.082505
min 0.000000
25% 1.000000
50% 1.000000
75% 1.000000
max 1.000000
Name: MSZoning, dtype: float64
Мне интересно, почему после вызова функции get_dummies()
получаются два разных результатаи присвоить его?
Так что, если не возражаете, кто-нибудь может мне помочь?
С уважением.