#python #pandas #numpy #discretization
Вопрос:
У меня есть этот набор данных со многими категориальными столбцами, и я должен выполнить дискретизацию данных.
Сначала я загружаю данные с помощью Pandas, и это дает мне следующее:
X = pd.read_excel("/content/drive/MyDrive/APR NÃO SUP_Tarefa_Trilha 4 (2) (1).ods") X.head()
После этого я пытаюсь выполнить де дискретизацию данных, используя этот блок кода:
coluna = ["LEG","GRANGE_REG", "SIGLA_UF", "NOME", "TIPO", "CAT_ASSOC", "NOME_MUN", "LEG"] for col in coluna: classes = np.unique(X[col]) number = 0 # valor que será usado para representar a clases for i in classes: X = X.replace(i, number) number = number 1 print('Novos dados:') print(X[col])
И этот код выдает эту ошибку:
lt;ipython-input-72-c6cc213e95a5gt; in lt;modulegt;() 3 for col in coluna: 4 print(col) ----gt; 5 classes = np.unique(X[col]) 6 number = 0 # valor que será usado para representar a clases 7 for i in classes: /usr/local/lib/python3.7/dist-packages/pandas/core/frame.py in __getitem__(self, key) 2904 if self.columns.nlevels gt; 1: 2905 return self._getitem_multilevel(key) -gt; 2906 indexer = self.columns.get_loc(key) 2907 if is_integer(indexer): 2908 indexer = [indexer] /usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 2898 return self._engine.get_loc(casted_key) 2899 except KeyError as err: -gt; 2900 raise KeyError(key) from err 2901 2902 if tolerance is not None: KeyError: 'GRANGE_REG'
P.S.: «НОГА» col работает без проблем, ошибка появляется только тогда, когда переменная col изменяется на «CHANGE_REG».
P. P. S.: Извините за плохой английский
Комментарии:
1. Да, потому что у вас нет
GRANDE_REG
колонкиGRANGE_REG
Ответ №1:
Это просто опечатка. Вы написали «GRAN G E_REG» вместо «GRAN D E_REG«.
Ответ №2:
Похоже, есть разница между тем, что вы считаете именем столбца, и тем, что оно есть в файле .ods (я не знаком с файлами .ods). Там может быть недостающее место или что — то в этом роде. Можете ли вы попробовать:
print(X.columns)
Это должно подсказать вам, каковы строки имен столбцов в кадре данных X.
Редактировать: Присмотревшись к изображению, я вижу, что в кадре данных «GRANDE_REG», но вы ищете «GRANGE_REG» (т. Е. «D» заменено на «G»).