|
此文章由 xiva 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xiva 所有!转贴必须注明作者、出处和本声明,并保持内容完整
proxies = {
'http': 'xxxxx',
'https': 'xxxxx'
}
import requests
import pandas as pd
from scipy.stats import linregress
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
import numpy as np
urls = ['https://covidlive.com.au/report/daily-cases/nsw',
'https://covidlive.com.au/report/daily-deaths/nsw',
'https://covidlive.com.au/report/daily-vaccinations/nsw']
T = 13
T2 = 42
d = pd.DataFrame()
for url in urls:
html = requests.get(url,proxies=proxies).content
tab_list = pd.read_html(html)
data = tab_list[1]
data.set_index("DATE", inplace=True)
d = pd.concat([d, data], axis=1)
d.index = pd.to_datetime(d.index)
data = d[['DEATHS','DOSES','CASES','NEW']]
data = data.dropna()
data = data.assign(DAILYDEATH = data["DEATHS"] - data["DEATHS"].shift(-1),
CASE_T = data["NEW"].shift(-1*T),
CASELOG = data["NEW"]/data["NEW"].shift(-1),
DEATHLOG = data["DEATHS"]/data["DEATHS"].shift(-1),
DOSE_T = data["DOSES"].shift(-1*T2))
data = data.dropna()
data.fillna(0, inplace=True)
data["CASELOG"] = data["CASELOG"].apply(np.log)
data["DEATHLOG"] = data["DEATHLOG"].apply(np.log)
data['CFR'] = data.DAILYDEATH/data.CASE_T
data = data.sort_index()
data = data.loc["2021-07-01":]
#[['NEW','DAILYDEATH','CASE_T','INCREASELOG','DOSE_T','CFR']]
standardizer = MinMaxScaler().fit(data)
data = pd.DataFrame(data, columns=['DEATHS', 'DOSES', 'CASES', 'NEW', 'DAILYDEATH', 'CASE_T',
'CASELOG', 'DEATHLOG', 'DOSE_T', 'CFR'])
data[["CFR", "DOSE_T"]].corr()
CFR DOSE_T
CFR 1.000000 -0.108629
DOSE_T -0.108629 1.000000
#完全疫苗率上升,死亡率下降
data[["CASELOG", "DOSE_T"]].corr()
CASELOG DOSE_T
CASELOG 1.000000 -0.197275
DOSE_T -0.197275 1.000000
#完全疫苗率上升,病例扩散速度下降
data[["CASELOG", "CFR"]].corr()
CASELOG CFR
CASELOG 1.000000 0.091137
CFR 0.091137 1.000000
#病例扩散速度增加,死亡增加 |
|