Assignment2

Posted Duan2baka

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Assignment2相关的知识,希望对你有一定的参考价值。

主要就是扔到DataFrame里,其他的就能顺带着解决了

这几天学学html,过两天重新学学写爬虫(闲)

# -*- coding: utf-8 -*-
"""
Spyder Editor
IC2140/TM3300
TMA Template for Exercise 3

"""

import requests
import pandas as pd
import json
import sys, getopt

dUpdate=""
weather=pd.DataFrame({\'A\' : []})
#%%
def getData():
    global dUpdate,weather
    url="https://data.weather.gov.hk/weatherAPI/opendata/weather.php?dataType=rhrread&lang=en"
    response = requests.get(url)
    data = response.text
    jdata = json.loads(data)
    dTemp=jdata[\'temperature\'][\'data\']
    dRain=jdata[\'rainfall\'][\'data\']
    dUpdate=jdata[\'updateTime\']
    
    dfTemp=pd.DataFrame(dTemp)
    dfRain=pd.DataFrame(dRain)

### Your code
### Q1
###   

    weather=pd.merge(dfTemp,dfRain,on=\'place\',how=\'outer\')
    weather=weather.set_index(weather[\'place\'])
    
    weather=weather.drop(columns=\'place\')
    weather=weather.sort_index()
    weather=weather[[\'unit_y\',\'max\',\'main\',\'value\',\'unit_x\']]

#%%
def getDateTime(sDateTime):
    sDate=sDateTime.split("T")[0]
    sTime=sDateTime.split("T")[1].split("+")[0]
    return sDate,sTime
#%%
def getTempRain(Region,weather):
    nTemp=-1
    nRain=-1
### Your Code
### Q2
###    
    tmp1=weather.loc[Region,\'value\']
    if not(pd.isnull(tmp1)):
        nTemp=tmp1
    tmp2=weather.loc[Region,\'main\']
    if tmp2!=\'FALSE\' and (not(pd.isnull(tmp2))):
        nRain=tmp2
    return nTemp,nRain       

#%%
def Report(Place,cTemp, cRain,cDate,cTime):
    if cTemp==-1 and cRain==-1:
        print(\'No record for {}\'.format(Place))
        return
    print("-----------------------------------------------")
    print("Current Weather Summary on {} at {}".format(cDate,cTime))
    print("Location: {}".format(Place))
### Your code
### Q3
###   
    if cTemp!=-1: print("Current Temperature: {:.1f} C".format(cTemp))
    if cRain!=-1:
        if cRain<0.05: print(\'No rainfall for the last hour\')
        else: print("Rainfall for the last hour: {:.1f} mm".format(cRain))
    print("----------------End of Report-----------------")
 
#%%       
mHELP = \'weather.py -r Region\'

def main(argv):
    try:
        opts, args = getopt.getopt(argv,"r:")
    except getopt.GetoptError:
        print (mHELP)
        sys.exit(2)    
    for opt, arg in opts:
        if opt == \'-r\':
            sDate,sTime=getDateTime(dUpdate)
            nTemp,nRain=getTempRain(arg,weather)
### Your Code
### Q4
###   
            Report(arg,nTemp,nRain,sDate,sTime)
            sys.exit()
    print(mHELP)            
            
#    LastReport()
if (__name__ == "__main__"):
    getData()
    main(sys.argv[1:])
else:
##  Unit Test for Q1, Q2 and Q3    
    print("Testing")
    getData()
    

以上是关于Assignment2的主要内容,如果未能解决你的问题,请参考以下文章

PrincetonAlgorithm I - Assignment2 Deques and Randomized Queues

CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)

CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)

CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)

FSA Simulator

微信小程序代码片段