2015-07-20 3 views
1

Я начинаю в Python. У меня есть серия с указанием датой и подсчетом некоторого наблюдения, как показано нижеPython Pandas - не сортировать гистограмму по значениям оси y

Date  Count 

2003  10 

2005  50 

2015  12 

2004  12 

2003  15 

2008  10 

2004  05 

Я хотел построить график, чтобы узнать засчитываются года с СТОЛБЧАТЫМ (ось й в год и у оси является счетом). Я использую приведенный ниже код

import pandas as pd 

pd.value_counts(sfdf.Date_year).plot(kind='bar') 

Я получаю гистограмму, которая автоматически сортируется по счету. Поэтому я не могу четко представить, как распределяется граф за эти годы. Есть ли способ остановить сортировку данных на гистограмме на счетчике и вместо этого сортировать по значениям оси x (i, e year)?

+0

Столбцы в файлах не разделены должным образом - это файл csv или txt?! –

ответ

1

Следующий код использует groupby() для объединения нескольких экземпляров того же года вместе, а затем вызывает sum() объект groupby(), чтобы суммировать его. По умолчанию groupby() подталкивает сгруппированный объект к индексу dataframe. Я думаю, что groupby() автоматически сортирует, но на всякий случай, sort(axis=0) сортирует индекс. Все, что остается, это заговор. Все в одной строке:

df = pd.DataFrame([[2003,10],[2005,50],[2015,12],[2004,12],[2003,15],[2008,10],[2004,5]],columns=['Date','Count']) 
df.groupby('Date').sum().sort(axis=0).plot(kind='bar') 
+0

Спасибо Дов. Это сработало. – Arvind

Смежные вопросы