本文目錄一覽:
- 1、Python氣象數據處理與繪圖(18):泰勒圖
- 2、0基礎學習python怎麼入門呢?
- 3、Python氣象數據處理與繪圖(2):常用數據計算方法
- 4、如何自學編程python
- 5、Python 進階都要學什麼?
- 6、Python繪圖之(1)Turtle庫詳解
Python氣象數據處理與繪圖(18):泰勒圖
泰勒圖繪製的核心思想是設計一個只有第一象限的極坐標,並將方差,相關係數進行捆綁,通過轉化為極坐標系坐標進行繪製。為了實現泰勒圖的繪製,我設計了兩個函數:
set_tayloraxes(fig, location=111) 和plot_taylor(axes, refsample, sample, args, *kwargs)
set_tayloraxes()函數用於建立一個泰勒圖的坐標系,這個自定義函數一般情況下不建議修改,每一個參數都是經過多次調試得到的,很可能牽一髮動全身。因此,將繪圖部分的獨立成為了plot_taylor函數(),這部分函數較為簡單,目的就是將需要繪圖的數據,轉換為極坐標系坐標,通過plot函數將散點打在泰勒圖上,這個函數模塊較為簡單,可以根據自己的輸入數據情況進行調整。
下面介紹下函數的具體用法:
輸入:
fig: 需要繪圖的figure
rect:圖的位置,如111為1行1列第一個,122為1行2列第2個
輸出:
polar_ax:泰勒坐標系
輸入:
axes : setup_axes返回的泰勒坐標系
refsample :參照樣本
sample :評估樣本
args, *kwargs :plt.plot()函數的相關參數,設置點的顏色,形狀等等。
下面給出示例:
0基礎學習python怎麼入門呢?
鏈接:
提取碼:238d
零基礎學python課程。Python是目前最流行的動態腳本語言之一。本課程由淺入深,全面、系統地介紹了使用Python進行開發的各種知識和技巧。 包括Python環境的安裝和配置、Python的基本語法、模塊和函數、內置數據結構、字元串和文件的處理、正則表達式的使用、異常的捕獲和處理、面向對象的語言特性和設計、Python的資料庫編程、Tkinter GUI庫的使用、HTML應用、XML應用、Django網頁開發框架的使用、測試驅動開發模式應用、Python中的進程和線程、Python系統管理、網路編程、Python圖像處理、Python語言的擴展和嵌入以及Windows下Python開發等。
課程目錄:
python語言的特點
python的發展歷史與版本
python的安裝
python程序的書寫規則
基礎數據類型
變數的定義和常用操作
序列的概念
字元串的定義和使用
……
Python氣象數據處理與繪圖(2):常用數據計算方法
對於氣象繪圖來講,第一步是對數據的處理,通過各類公式,或者統計方法將原始數據處理為目標數據。
按照氣象統計課程的內容,我給出了一些常用到的統計方法的對應函數:
在計算氣候態,區域平均時均要使用到求均值函數,對應NCL中的dim_average函數,在python中通常使用np.mean()函數
numpy.mean(a, axis, dtype)
假設a為[time,lat,lon]的數據,那麼
需要特別注意的是,氣象數據中常有缺測,在NCL中,使用求均值函數會自動略過,而在python中,當任意一數與缺測(np.nan)計算的結果均為np.nan,比如求[1,2,3,4,np.nan]的平均值,結果為np.nan
因此,當數據存在缺測數據時,通常使用np.nanmean()函數,用法同上,此時[1,2,3,4,np.nan]的平均值為(1+2+3+4)/4 = 2.5
同樣的,求某數組最大最小值時也有np.nanmax(), np.nanmin()函數來補充np.max(), np.min()的不足。
其他很多np的計算函數也可以通過在前邊加『nan』來使用。
另外,
也可以直接將a中缺失值全部填充為0。
np.std(a, axis, dtype)
用法同np.mean()
在NCL中有直接求數據標準化的函數dim_standardize()
其實也就是一行的事,根據需要指定維度即可。
皮爾遜相關係數:
相關可以說是氣象科研中最常用的方法之一了,numpy函數中的np.corrcoef(x, y)就可以實現相關計算。但是在這裡我推薦scipy.stats中的函數來計算相關係數:
這個函數缺點和有點都很明顯,優點是可以直接返回相關係數R及其P值,這避免了我們進一步計算置信度。而缺點則是該函數只支持兩個一維數組的計算,也就是說當我們需要計算一個場和一個序列的相關時,我們需要循環來實現。
其中a[time,lat,lon],b[time]
(NCL中為regcoef()函數)
同樣推薦Scipy庫中的stats.linregress(x,y)函數:
slop: 回歸斜率
intercept:回歸截距
r_value: 相關係數
p_value: P值
std_err: 估計標準誤差
直接可以輸出P值,同樣省去了做置信度檢驗的過程,遺憾的是仍需同相關係數一樣循環計算。
如何自學編程python
首先先了解Python語言的四大發展方向。目前Python的主要方向有web後端開發、大數據分析網路爬蟲和人工智慧,當然如果再細分的話還有自動化測試、運維等方向。
在學習Python的基礎語法時,並不需要太多的基礎,基本只要熟練使用電腦日常功能並對Python感興趣就可以了,但如果想要在人工智慧領域方向發展的話,線性代數、概率、統計等高等數學知識基本是必需的,原因在於這些知識能夠讓你的邏輯更加清晰,在編程過程中有更強的思路。
分享一個千鋒Python的學習大綱給你
第一階段 – Python 數據科學
Python 基礎語法
入門及環境安裝 、基本語法與數據類型、控制語句、錯誤及異常、錯誤處理方法、異常處理方法 、常用內置函數 、函數創建與使用、Python 高級特性、高級函數、Python 模塊、PythonIO 操作 、日期與時間 、類與面向對象 、Python 連接資料庫
Python 數據清洗
數字化 Python 模塊Numpy、數據分析利器Pandas、Pandas 基本操作、Pandas 高級操作
Python 數據可視化
數據可視化基礎、MLlib(RDD-Base API)機器學習、MatPlotlib 繪圖進階、高級繪圖工具
第二階段 – 商業數據可視化
Excel 業務分析
Excel 基礎技能、Excel 公式函數、圖表可視化、人力 財務分析案例、商業數據分析方法、商業數據分析報告
Mysql 資料庫
Mysql 基礎操作(一)、Mysql 基礎操作(二)、Mysql 中級操作、Mysql 高級操作、電商數據處理案例
PowerBI
初級商業智能應用 (PowerQuery)、初級商業智能應用 (PowerPivot)、初級商業智能應用案例、存儲過程、PowerBI Desktop 案例、PowerBI Query 案例
統計學基礎
微積分、線性代數基礎、統計基礎
Tableau
Tableau 基本操作、Tableau 繪圖、Tableau 數據分析、Tableau 流量分析
SPSS
客戶畫像、客戶價值模型、神經網路、決策樹、時間序列
第三階段 – Python 機器學習
Python 統計分析
數據準備、一元線性回歸、多元線性回歸、一般 logistic 回歸、ogistic 回歸與修正
Python 機器學習基礎
機器學習入門、KNN 講義、模型評估方法、模型優化方法、Kmeans、DBSCAN、決策樹演算法實戰
Python 機器學習中級
線性回歸、模型優化方法、邏輯回歸、樸素貝葉斯、關聯規則、協同過濾、推薦系統案例
Python 機器學習高級
集成演算法 – 隨機森林、集成演算法 -AdaBoost、數據處理和特徵工程、SVM、神經網路、XGBoost
第四階段 – 項目實戰
電商市場數據挖掘項目實戰
項目背景 業務邏輯 、指定分析策略 、方法實現與結果 、營銷活動設計及結果評價 、撰寫數據分析報告
金融風險信用評估項目實戰
項目背景 業務邏輯 、建模準備 、數據清洗 、模型訓練 、模型評估 、模型部署與更新
第五階段 – 數據採集
爬蟲類庫解析 、數據解析 、動態網頁提取 、驗證碼、IP 池 、多線程爬蟲 、反爬應對措施 、scrapy 框架
第六階段 – 企業課
團隊戶外拓展訓練 、企業合作項目課程 、管理課程 、溝通表達訓練 、職業素養課程
以上就是零基礎Python學習路線的所有內容,希望對大家的學習有所幫助。
Python 進階都要學什麼?
在學習Python之前 肯定都自己了解過這門語言,也知道Python有很多的學習方向,比如說數據採集方向(爬蟲),或者Web開發方向,也可能是最近特別火熱的人工智慧方向。每個方向所需要的技術都是不盡相同的,所以在我們學習完成Python的基礎語法之後,一定要慎重選擇自己之後的進階方向。通用必備基礎知識:(這些知識不管是做python哪方面,都是基礎性知識,都必須會)。
1.學習python基礎語法知識
2.學習網路編程,熟悉線程、進程、等網路編程基本原理
3.學習MySQL,能熟練對資料庫數據的增刪改查命令,面試也會經常問到(有條件學習下mongodb和redis,尤其是redis,現在很多技術都利用到了redis的優秀特性,比如爬蟲的去重、分散式爬蟲、數據緩存等等)
4.學習正則表達式,用於數據的提取 re模塊。
5、前端入門html\\css\\jquery,用於分析網頁頁面結構,能讀懂前端人員編寫的代碼含義。
轉型爬蟲學習的知識:1.requests庫:發送網頁請求,返回數據。
2.xpath:用於網頁元素的提取(當然還有bs4、pyquery等,選擇順手的)。
3.selenium:用於真實瀏覽器訪問網頁,根據具體情況使用。
4.scrapy:用於大規模快速網頁數據爬取。
5.驗證碼破解:驗證碼破解建議大家可以多搞點難破解的,比如滑塊驗證碼、淘寶驗證碼、12306驗證碼等等,面試經常問到哦。
6、web後台庫和框架:django、flask、tornado,三個框架各有優劣,web框架小編用django和flask居多,django覺得很多東西都已經封裝好了,可以直接用,不用自己手動構造,比如django的admin後台和xadmin後台,flask就相對靈活多變,還是那句話,至少掌握兩個框架,多多益善。
因為入門編程並不是一件分分鐘就能做到的事情,多以你要堅持每天打卡。不要三天打魚兩天晒網。要循序漸進,溫故而知新。
Python繪圖之(1)Turtle庫詳解
Turtle庫是Python語言中一個很流行的繪製圖像的函數庫,想像一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪製了圖形。
畫布就是turtle為我們展開用於繪圖區域,我們可以設置它的大小和初始位置。
設置畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素), 高, 背景顏色。
如:turtle.screensize(800,600, “green”)
turtle.screensize() #返回默認大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示佔據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位於屏幕中心。
如:turtle.setup(width=0.6,height=0.6)
turtle.setup(width=800,height=800, startx=100, starty=100)
2.1 畫筆的狀態
在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一隻面朝x軸正方向小烏龜。這裡我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。
2.2 畫筆的屬性
畫筆(畫筆的屬性,顏色、畫線的寬度等)
1) turtle.pensize():設置畫筆的寬度;
2) turtle.pencolor():沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字元串如”green”, “red”,也可以是RGB 3元組。
3) turtle.speed(speed):設置畫筆移動速度,畫筆繪製的速度範圍[0,10]整數,數字越大越快。
2.3 繪圖命令
操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。
(1) 畫筆運動命令
(2) 畫筆控制命令
(3) 全局控制命令
(4) 其他命令
3. 命令詳解
3.1 turtle.circle(radius, extent=None, steps=None)
描述:以給定半徑畫圓
參數:
radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;
extent(弧度) (optional);
steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。
舉例:
circle(50) # 整圓;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圓
實例:
1、太陽花
2、五角星
3、時鐘程序
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129301.html