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答案)