Мне нужно разобрать большой файл csv (1Gb), который содержит данные о погоде.
сам файл находится здесь:
ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/by_year/2014.csv.gz
Дополнительная информация (станции код и формат файла):
FTP: // ftp.ncdc.noaa.gov/pub/data/ghcn/daily/ghcnd-stations.txt
ftp: // ftp.ncdc.noaa.gov/pub/data/ghcn/daily/by_year/readme.txt
Мне нужно найти там информацию о Киеве и Днепропетровске и визуализировать среднемесячные значения. Я написал алгоритм для поиска данных и его средних значений, но он не дает мне данных за последний месяц.Python - проанализировать данные csv - ошибка алгоритма
import csv
import matplotlib.pyplot as plt
f = open('2014.csv', 'rb')
try:
reader = csv.reader(f)
avgK = 0
avgD = 0
date = 0
mon = 1
avergK = []
avergD = []
count_date = 1
for row in reader:
if row[2] == 'TAVG':
count_date +=1
date = (int(row[1]) % 10000)
if row[0] == 'UPM00033345':
avgK += float(row[3])/10.0
elif row[0] == 'UPM00034504':
avgD += float(row[3])/10.0
if (date//100 > mon):
print date //100, mon, date%100, avgK, avgD
avergK.append(avgK/count_date)
avergD.append(avgD/count_date)
mon += 1
avgK = 0
avgD = 0
count_date = 1
continue
finally:
f.close()
plt.subplot(2, 1, 1)
plt.plot(avergK)
plt.xlabel('Month')
plt.ylabel('Average Temperature')
plt.title('AVG in Kiev 2014')
plt.grid(True)
plt.subplot(2, 1, 2)
plt.plot(avergD)
plt.xlabel('Month')
plt.ylabel('Average Temperature')
plt.title('AVG in DNIPROPETROVSK 2014')
plt.grid(True)
plt.show()
Можно ли решить эту проблему с помощью панд?