Добавить пустышку в массив? - PullRequest
0 голосов
/ 11 мая 2018

У меня есть набор данных, который представляет лесные пожары. Этот набор данных имеет числовые и категориальные характеристики. Эти категорические даты и месяц. Я изменил эти категориальные значения в числа, например:

Jan -> 1
Feb -> 2
March ->3
.
.
Dec -> 12

и

Mon -> 1
Tue -> 2
.
.
Sun ->7

Но использование этого метода не правильно. Я должен был использовать манекены, чтобы исправить это.

Небольшая часть моего набора данных:

7   5   mar fri 86.2    26.2    94.3    5.1 8.2 51  6.7 0
7   4   oct tue 90.6    35.4    669.1   6.7 18  33  0.9 0
7   4   oct sat 90.6    43.7    686.9   6.7 14.6    33  1.3 0

И я думаю, мне пришлось изменить его на

7   5   [0,0,1,0,0,0,0,0,0,0,0,0]   [0,0,0,0,1,0,0] 86.2    26.2    94.3    5.1 8.2 51  6.7 0
7   4   [0,0,0,0,0,0,0,0,0,1,0,0]   [0,1,0,0,0,0,0] 90.6    35.4    669.1   6.7 18  33  0.9 0
7   4   [0,0,0,0,0,0,0,0,0,1,0,0]   [0,0,0,0,0,1,0] 90.6    43.7    686.9   6.7 14.6    33  1.3 0

Теперь, что я сделал:

data[:, 2] = pandas.get_dummies(data[:,2])
data[:, 3] = pandas.get_dummies(data[:,3])

Этот метод не однозначно. Я знал это, когда писал это.

could not broadcast input array from shape (517,12) into shape (517)

Как я могу объединить макеты в мой массив numpy?

1 Ответ

0 голосов
/ 11 мая 2018

Это проще, чем вы пробовали:

import pandas as pd

df = pd.read_clipboard()
df1 = pd.get_dummies(df)

df
Out[33]: 
   a  b    m    d     e     f      g    h     i   j    k  l
0  7  5  mar  fri  86.2  26.2   94.3  5.1   8.2  51  6.7  0
1  7  4  oct  tue  90.6  35.4  669.1  6.7  18.0  33  0.9  0
2  7  4  oct  sat  90.6  43.7  686.9  6.7  14.6  33  1.3  0


df1
Out[35]: 
   a  b     e     f      g    h     i   j    k  l  m_mar  m_oct  d_fri  d_sat  \
0  7  5  86.2  26.2   94.3  5.1   8.2  51  6.7  0      1      0      1      0   
1  7  4  90.6  35.4  669.1  6.7  18.0  33  0.9  0      0      1      0      0   
2  7  4  90.6  43.7  686.9  6.7  14.6  33  1.3  0      0      1      0      1   

   d_tue  
0      0  
1      1  
2      0  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...