2015-11-03 2 views
1

Я импортировал файл CSV в виде списка в Python:Plot CSV файл в Matplotlib

CSV файл:

2012,3,22 
2012,3,30 
2012,4,4 
2012,4,7 
2012,3,22 
2012,3,22 
2012,3,27 
2012,3,30 
2012,3,30 
2012,4,7 

код:

import csv 
with open('file.csv', 'rb') as f: 
    reader = csv.reader(f) 
    date_list = list(reader) 

print date_list 

выход:

[['2012', '3', '22'], ['2012', '3', '27'], ['2012', '3', '30'], ['2012', '3', '30'], ['2012', '4', '7']] 

Теперь я хочу построить его с помощью matplotlib. мой код here, но я не знаю, как применять свои данные в коде для генерации гистограммы

Мне нужен только год и месяц из данных. как вы можете увидеть его в example

ответ

1

Чтобы получить ежемесячные счетчики в нужный вам формат для столбчатой ​​диаграммы из your previous question

Вы можете конвертировать и извлекать следующим образом:

import numpy as np 
a = [['2012', '3', '22'], ['2012', '3', '27'], ['2012', '3', '30'], ['2012', '3', '30'], ['2012', '4', '7'], ['2011', '2', '12'], ['2011', '2', '14'], ['2011', '10', '10']] 
# convert all date parts to integers 
a = [[int(e) for e in d] for d in a] 

years = set(d[0] for d in a) 
minyear, maxyear = min(years), max(years) 
nyears = maxyear - minyear + 1 
nmonths = 12 

monthly_counts = np.zeros((nyears,nmonths)) 
for year,month,_ in a: 
    monthly_counts[year-minyear,month-1] += 1