Python - 解析csv数据 - 算法错误

时间:2015-11-29 15:55:55

标签: python algorithm parsing csv pandas

我需要解析一个包含天气数据的大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

我需要找到有关基辅和第聂伯罗彼得罗夫斯克的信息,并可视化月平均值。 我已经编写了一个查找数据及其平均值的算法,但它没有给我最近一个月的数据。

Integer

是否可以使用熊猫来解决它?

1 个答案:

答案 0 :(得分:0)

也许你可以在这里使用熊猫,但你不需要它们来解决当前的问题。只有当您找到包含新月份的行时,才会存储月平均值。但是当你到达文件末尾时,你应该在上个月进行处理。

你的循环应该是:

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

# store values for last month
avergK.append(avgK/count_date)
avergD.append(avgD/count_date)