使用机器学习进行气象数据分析

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)

转载于:https://www.cnblogs.com/o-din/p/8660078.html

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值