KeyError при построении кадра данных pandas с помощью matplotlib - PullRequest
1 голос
/ 27 марта 2019

Я использую данные о погоде CSV, и когда я строю график, отображается ошибка ключевого слова

Вот мои данные:

    Year    Month   Day Hour    Temperature Wind
0   2019    3   18  0   22.02   7.42
1   2019    3   18  1   21.48   6.88
2   2019    3   18  2   21.09   6.84
3   2019    3   18  3   20.75   7.20
4   2019    3   18  4   20.43   7.56

Теперь, когда я пытаюсь построить

import matplotlib  
import matplotlib.pyplot as plt  
import numpy as np  
plt.plot( data['Wind'])
plt.title('Wind Speed')

plt.ylim(0.0, 10.5 )
plt.ylim(0.0, 20.09)
plt.show()

Это показывает эту ошибку

KeyError                                  Traceback (most recent call last)
~/anaconda3/envs/tesnorenv/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2655             try:
-> 2656                 return self._engine.get_loc(key)
   2657             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: 'Wind'


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

KeyError: 'Wind'

Когда я использую День, Месяц и час, график отображается правильно, но он не работает при температуре и ветре

Работает нормально. Пожалуйста, помогите мне, я не могу найти ошибку

1 Ответ

0 голосов
/ 27 марта 2019

В ваших столбцах есть пробелы:

['Year' 'Month' 'Day' 'Hour' 'Temperature ' 'Wind '] 

Вы можете видеть, что 'Temperature ' и 'Wind ' имеют завершающие пробелы.

Всякий раз, когда вы видите KeyError, вы должны смотреть на то, чем на самом деле являются ваши столбцы, а не на то, как они выглядят, делая print(data.columns.tolist())

Таким образом, вы можете правильно вызвать столбец:

plt.plot( data['Wind '])

или очистить столбцы:

data.columns = data.columns.str.strip()

для удаления начальных и конечных пробелов

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