本文關(guān)鍵闡述了python數(shù)據(jù)統(tǒng)計分析之單因素分析線性擬合及地理編碼,文章內(nèi)容緊扣主題開展詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學(xué)習(xí)一下
一、單因素分析線性擬合
作用:線性擬合,單因素分析,對趨勢線開展線性擬合,并變大趨勢線的部分位子
鍵入:某一xlsx文檔,含有'病人相對密度(人/10數(shù)萬人)'和'人口密度散布(人/平方公里)'二列
導(dǎo)出:對此二列信息進(jìn)行線性擬合,制作矩形圖
完成編碼:
import pandas as pd from pylab import mpl from scipy import optimize import numpy as np import matplotlib.pyplot as plt def f_1(x,A,B): return A*x+B def draw_cure(file): data1=pd.read_excel(file) data1=pd.DataFrame(data1) hz=list(data1['患者密度(人/10萬人)']) rk=list(data1['人口密度(人/平方千米)']) hz_gy=[] rk_gy=[] for i in hz: hz_gy.append((i-min(hz))/(max(hz)-min(hz))) for i in rk: rk_gy.append((i-min(rk))/(max(rk)-min(rk))) n=['玄武區(qū)','秦淮區(qū)','建鄴區(qū)','鼓樓區(qū)','浦口區(qū)','棲霞區(qū)','雨花臺區(qū)','江寧區(qū)','六合區(qū)','溧水區(qū)','高淳區(qū)', '錫山區(qū)','惠山區(qū)','濱湖區(qū)','梁溪區(qū)','新吳區(qū)','江陰市','宜興市', '鼓樓區(qū)','云龍區(qū)','賈汪區(qū)','泉山區(qū)','銅山區(qū)','豐縣','沛縣','睢寧縣','新沂市','邳州市', '天寧區(qū)','鐘樓區(qū)','新北區(qū)','武進(jìn)區(qū)','金壇區(qū)','溧陽市', '虎丘區(qū)','吳中區(qū)','相城區(qū)','姑蘇區(qū)','吳江區(qū)','常熟市','張家港市','昆山市','太倉市', '崇川區(qū)','港閘區(qū)','通州區(qū)','如東縣','啟東市','如皋市','海門市','海安市', '連云區(qū)','海州區(qū)','贛榆區(qū)','東??h','灌云縣','灌南縣', '淮安區(qū)','淮陰區(qū)','清江浦區(qū)','洪澤區(qū)','漣水縣','盱眙縣','金湖縣', '亭湖區(qū)','鹽都區(qū)','大豐區(qū)','響水縣','濱??h','阜寧縣','射陽縣','建湖縣','東臺市', '廣陵區(qū)','邗江區(qū)','江都區(qū)','寶應(yīng)縣','儀征市','高郵市', '京口區(qū)','潤州區(qū)','丹徒區(qū)','丹陽市','揚中市','句容市', '海陵區(qū)','高港區(qū)','姜堰區(qū)','興化市','靖江市','泰興市', '宿城區(qū)','宿豫區(qū)','沭陽縣','泗陽縣','泗洪縣'] mpl.rcParams['font.sans-serif']=['FangSong'] plt.figure(figsize=(16,8),dpi=98) p1=plt.subplot(121) p2=plt.subplot(122) p1.scatter(rk_gy,hz_gy,c='r') p2.scatter(rk_gy,hz_gy,c='r') p1.axis([0.0,1.01,0.0,1.01]) p1.set_ylabel("患者密度(人/10萬人)",fontsize=13) p1.set_xlabel("人口密度(人/平方千米)",fontsize=13) p1.set_title("人口密度—患者密度相關(guān)性",fontsize=13) for i,txt in enumerate(n): p1.annotate(txt,(rk_gy<i>,hz_gy<i>)) A1,B1=optimize.curve_fit(f_1,rk_gy,hz_gy)[0] x1=np.arange(0,1,0.01) y1=A1*x1+B1 p1.plot(x1,y1,"blue",label='一次擬合直線') x2=np.arange(0,1,0.01) y2=x2 p1.plot(x2,y2,'g--',label='y=x') p1.legend(loc='upper left',fontsize=13) ##plot the box tx0=0;tx1=0.1;ty0=0;ty1=0.2 sx=[tx0,tx1,tx1,tx0,tx0] sy=[ty0,ty0,ty1,ty1,ty0] p1.plot(sx,sy,"purple") p2.axis([0,0.1,0,0.2]) p2.set_ylabel("患者密度(人/10萬人)",fontsize=13) p2.set_xlabel("人口密度(人/平方千米)",fontsize=13) p2.set_title("人口密度—患者密度相關(guān)性",fontsize=13) for i,txt in enumerate(n): p2.annotate(txt,(rk_gy<i>,hz_gy<i>)) p2.plot(x1,y1,"blue",label='一次擬合直線') p2.plot(x2,y2,'g--',label='y=x') p2.legend(loc='upper left',fontsize=13) plt.show() if __name__=='__main__': draw_cure("F:醫(yī)學(xué)大數(shù)據(jù)課題論文終稿修改scientific report返修市區(qū)縣相關(guān)分析_2231.xls")
二、完成地理編碼
鍵入:漢語地址信息,比如安徽省為縣天城鎮(zhèn)大都督村沖里18號
導(dǎo)出:經(jīng)緯度坐標(biāo),比如107.3479975498958130.50483335424108
作用:依據(jù)漢語詳細(xì)地址信息收集經(jīng)緯度坐標(biāo)
完成編碼:
import json from urllib.request import urlopen,quote import xlrd def readXLS(XLS_FILE,sheet0): rb=xlrd.open_workbook(XLS_FILE) rs=rb.sheets()[sheet0] return rs def getlnglat(adress): url='http://api.map.baidu.com/geocoding/v3/?address=' output='json' ak='fdi11GHN3GYVQdzVnUPuLSScYBVxYDFK' add=quote(adress)#使用quote進(jìn)行編碼為了防止中文亂碼 #add=adress url2=url+add+'&output='+output+'&ak='+ak req=urlopen(url2) res=req.read().decode() temp=json.loads(res) return temp def getlatlon(sd_rs): nrows_sd_rs=sd_rs.nrows for i in range(4,nrows_sd_rs): #for i in range(4,7): row=sd_rs.row_values(i) print(i,i/nrows_sd_rs) b=(row[11]+row[12]+row[9]).replace('#','號')#第三列的地址 print(b) try: lng=getlnglat(b)['result']['location']['lng']#獲取經(jīng)度并寫入 lat=getlnglat(b)['result']['location']['lat']#獲取緯度并寫入 except KeyError as e: lng='' lat='' f_err=open('f_err.txt','a') f_err.write(str(i)+'t') f_err.close() print(e) print(lng,lat) f_latlon=open('f_latlon.txt','a') f_latlon.write(row[0]+'t'+b+'t'+str(lng)+'t'+str(lat)+'n') f_latlon.close() if __name__=='__main__': #sle_xls_file='F:醫(yī)學(xué)大數(shù)據(jù)課題江蘇省SLE數(shù)據(jù)庫(兩次隨訪合并).xlsx' sle_xls_file="F:醫(yī)學(xué)大數(shù)據(jù)課題數(shù)據(jù)副本江蘇省SLE數(shù)據(jù)庫(兩次隨訪合并)-副本.xlsx" sle_data_rs=readXLS(sle_xls_file,1) getlatlon(sle_data_rs)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130251.html
摘要:什么是支持向量機支持向量機是一種有監(jiān)督的機器學(xué)習(xí)算法,可用于分類任務(wù)或回歸任務(wù)。支持向量機是一個最好地隔離兩個類超平面或者說分類線的前沿算法。接下來,我們將討論支持向量機如何工作。 showImg(https://segmentfault.com/img/remote/1460000019599694); 介紹 掌握機器學(xué)習(xí)算法并不是一個不可能完成的事情。大多數(shù)的初學(xué)者都是從學(xué)習(xí)回歸開...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02