zoukankan      html  css  js  c++  java
  • 使用机器学习进行气象数据分析

    1. 首先我们需要找到数据,很多地方提供了api,比如:

    https://www.wunderground.com/weather/api(但是这个网站不提供空气质量)

    空气质量可参考:https://www.zhihu.com/question/20939327

    2. 从api获取数据,使用python,代码粘出来:

    # -*- coding: UTF-8 -*-
    import urllib2
    import json
    from datetime import datetime
    import pandas as pd
    
    ''''
    最终选择的特征有:气温tempm, 露点dewptm, 湿度humidity, 风力wspdm, 能见度vism, 气压pressurei, 降水precipm
    其中,tempm:min max mean, dewptm:min max mean, humidity:humidity, wspdm: min max, vism: mean min max, 
    pressurei: max min mean, precipm:precipm
    目标:fog(雾霾)
    '''
    def getdata(month,day,meant,meand,humi,maxw,meanv,meanp,preci,fo):
        date = datetime(2017, month, day)
        print day
        target = 'http://api.wunderground.com/api/{Your Key}/history_{}/q/CN/zmw:00000.1.54511.json?v=wuiapp'
        f = urllib2.urlopen(target.format(date.strftime('%Y%m%d')))
        json_string = f.read()
        parsed_json = json.loads(json_string)
        day = parsed_json['history']['dailysummary']
        temp = day[0]['meantempm']  #气温情况
        dewptm = day[0]['meandewptm']  # 露点情况
        hum = day[0]['humidity']  # 湿度情况
        wspdm = day[0]['maxwspdm']  # 风力情况
        vism = day[0]['meanvism']  # 能见度情况
        press = day[0]['meanpressurei']  # 气压情况
        prec = day[0]['precipm']  # 降水情况
        fog = day[0]['fog']  #雾霾情况
        meant.append(temp)
        meand.append(dewptm)
        humi.append(hum)
        maxw.append(wspdm)
        meanv.append(vism)
        meanp.append(press)
        preci.append(prec)
        fo.append(fog)
        f.close()
    if __name__ == '__main__':
        meantempm = []
        meandewptm = []
        humidity = []
        maxwspdm = []
        meanvism = []
        meanpressurei = []
        precipm = []
        f = []
        for day in range(1,31):
            getdata(4, day, meantempm, meandewptm, humidity, maxwspdm, meanvism, meanpressurei, precipm, f)
            print meantempm
        #head = [u'温度',u'露点',u'湿度',u'风力',u'能见度',u'气压',u'降水',u'雾霾']
        value = [meantempm, meandewptm, humidity, maxwspdm, meanvism, meanpressurei, precipm, f]
        value = list(zip(*value))
        dataframe = pd.DataFrame(value)
        dataframe.to_csv('/Users/purixingtei/Downloads/output-2.csv', index=False, encoding="utf-8")
    

    其中的Your Key需要被替换成自己的app key,然后主函数的循环,需要根据自己的月-日进行选择。

    特别注意一点就是:不要起csv.py的名!!!

    (loading)

  • 相关阅读:
    MSP430:管脚的第二功能选择
    MSP430 WDT
    MSP430 G2553 Timer 中断总结
    Timer A UP mode 中断
    AD10 库下载地址
    mysql的视图,事务,索引,外键
    mariadb主从配置
    DNS服务搭建
    数据库的连接查询
    数据库设计及ER模型
  • 原文地址:https://www.cnblogs.com/o-din/p/8660078.html
Copyright © 2011-2022 走看看