KeyError: «Сообщение» в блокноте Jupyter - PullRequest
0 голосов
/ 26 февраля 2020

Я новичок в машинном обучении и столкнулся с этой проблемой.

Я загрузил набор данных с двумя столбцами и заголовками «Сообщение» и «Приоритет».

при запуске этой команды , Я получаю это:

'df.columns'


'Index(['Message\tPriority'], dtype='object')'

Но, когда я запускаю эту команду, я получаю следующую ошибку:

X = df['Message']
ylabels = df['Priority']

KeyError                                  Traceback (most recent call last)
D:\anna\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2656             try:
-> 2657                 return self._engine.get_loc(key)
   2658             except KeyError:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'Message'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-72-238deec7e797> in <module>
      1 # Features and Labels
----> 2 X = df['Message']
      3 ylabels = df['Priority']

D:\anna\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   2925             if self.columns.nlevels > 1:
   2926                 return self._getitem_multilevel(key)
-> 2927             indexer = self.columns.get_loc(key)
   2928             if is_integer(indexer):
   2929                 indexer = [indexer]

D:\anna\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2657                 return self._engine.get_loc(key)
   2658             except KeyError:
-> 2659                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   2660         indexer = self.get_indexer([key], method=method, tolerance=tolerance)
   2661         if indexer.ndim > 1 or indexer.size > 1:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'Message'

1 Ответ

0 голосов
/ 26 февраля 2020

Я угадаю.

Линия Index(['Message\tPriority'] показывает, что эти данные используют вкладку \t в качестве разделителя, но стандарт read_csv() использует , в качестве разделителя, и вам необходимо добавить параметр sep="\t"

df = pd.read_csv(filename, sep="\t")
...