У меня есть фреймворк pandas, который я пытался сгруппировать по годам на «Дата закрытия», а затем отложить «ARR (USD)» на оси Y против года на оси x.

После группировки все в порядке:

sumyr = brandarr.groupby(brandarr['Close Date'].dt.year,as_index=True).sum()

         ARR (USD)
Close Date  
2017    17121174.33
2018    15383130.32

Но когда я пытаюсь построить:

trace = [go.Bar(
x=sumyr['Close Date'],
y=sumyr['ARR (USD)']
)]

Я получаю сообщение об ошибке: KeyError: 'Close Date'

Я уверен, что это что-то глупое, я новичок, но уже час возился с этим и ну вот и я. Спасибо!

1
Matt Rosier 6 Окт 2018 в 02:13

1 ответ

Лучший ответ

В своей функции groupby вы использовали as_index=True, поэтому теперь Close Date является индексом . Если вы хотите получить доступ к индексу, используйте панды .loc или .iloc. Чтобы получить прямой доступ к значениям индекса, используйте:

sumyr.index.tolist()

Проверьте здесь: Pandas - как получить данные индекс кадра в виде массива

1
Wariored 6 Окт 2018 в 00:21