目錄:
一魁蒜,數(shù)據(jù)科學(xué)Python入門指南
二操刀,參考資料:
一烁挟,數(shù)據(jù)科學(xué)Python入門指南
精通Python時,最容易犯的錯誤之一就是嘗試一次學(xué)習(xí)太多東西骨坑,尤其是庫撼嗓。當(dāng)您嘗試那樣學(xué)習(xí)時,您會花費(fèi)太多時間在不同的概念之間切換,感到沮喪并轉(zhuǎn)向其他事物且警。
當(dāng)您開始學(xué)習(xí)時粉捻,請專注于此過程,并耐心等待每一步:
1斑芜,Understand Python basics:了解Python基礎(chǔ)
2杀迹,Learn Numpy:學(xué)習(xí)Numpy 庫
3,Learn Pandas:學(xué)習(xí)熊貓 庫
4押搪,Learn Matplotlib:學(xué)習(xí)Matplotlib 庫
5,Practice Your coding and data science skills:練習(xí)您的編碼和數(shù)據(jù)科學(xué)技能
步驟1:Python基礎(chǔ)知識
Python語法-成功的基石
好吧浅碾,老實說大州,您需要學(xué)習(xí)很多有關(guān)語法的特定細(xì)節(jié),而本文不足以充分完成此任務(wù)垂谢。但我會真誠地嘗試減輕您的學(xué)習(xí)痛苦厦画。以下是基本概念和有價值的資源/書籍:
Python是一種強(qiáng)類型語言(強(qiáng)類型語言是一種語言,其中每種數(shù)據(jù)類型都作為語言的一部分進(jìn)行了預(yù)定義滥朱,并且必須使用一種數(shù)據(jù)類型來描述為給定程序定義的所有常量或變量)根暑。同時它是動態(tài)類型的(沒有變量的聲明,只有賦值語句)徙邻。
Python是區(qū)分大小寫的語言(var和VAR是兩個不同的變量)和面向?qū)ο蟮恼Z言(Python中的所有對象都是對象:數(shù)字排嫌,字典,用戶定義的類和內(nèi)置類)缰犁。
Python沒有強(qiáng)制性的運(yùn)算符完成字符淳地,塊邊界由縮進(jìn)定義∷荩縮進(jìn)開始一個新的塊颇象,缺少縮進(jìn)則結(jié)束它。等待新縮進(jìn)的表達(dá)式以冒號(:)結(jié)尾并徘。單行注釋以井號(#)開頭遣钳;對于多行注釋,使用字符串文字麦乞,并用三撇號或三引號引起來蕴茴。
使用等號(“ =”)分配值(實際上是與值名稱關(guān)聯(lián)的對象),并使用兩個等號(“ ==”)檢查是否相等姐直。您可以分別使用+ =和— =運(yùn)算符荐开,通過在運(yùn)算符右側(cè)指定的值來增加/減少這些值。這適用于許多數(shù)據(jù)類型简肴,包括晃听。和字符串。
數(shù)據(jù)類型。在Python中能扒,有以下數(shù)據(jù)結(jié)構(gòu):列表佣渴,元組和字典。集合也可用初斑,但僅在Python 2.5和更高版本中可用辛润。列表就像一維數(shù)組(但是您也可以創(chuàng)建其他列表的列表并獲得多維數(shù)組),字典是關(guān)聯(lián)數(shù)組(所謂的哈希表见秤,可以是任何數(shù)據(jù)類型)砂竖,元組是一維不變的數(shù)組(在Python中,“數(shù)組”可以是任何類型鹃答,因此您可以在列表/字典/元組中混合使用例如整數(shù)乎澄,字符串等)。所有類型的數(shù)組中第一個元素的索引為0测摔,而最后一個元素的索引為-1置济。
您只能使用冒號(:)處理部分?jǐn)?shù)組元素。在這種情況下锋八,冒號之前的索引指示數(shù)組已使用部分的第一個元素浙于,冒號之后的索引指示數(shù)組已使用部分的最后一個元素之后的元素(它不包含在子數(shù)組中) 。如果未指定第一個索引挟纱,則使用數(shù)組的第一個元素羞酗。如果未指定秒數(shù),則最后一個元素將是數(shù)組的最后一個元素紊服。計算負(fù)值從頭開始確定元素的位置整慎。
絕對初學(xué)者的資源和必須學(xué)習(xí)的東西:
用Python自動完成無聊的工作?-本書證明了編程的主要目的不是語法知識,而是對如何使機(jī)器執(zhí)行指令的理解围苫。編程是創(chuàng)造力裤园,而使用Python自動處理無聊的東西是您掌握這種語言的最佳方法!
如何像計算機(jī)科學(xué)家一樣思考?-另一個好的開放書項目剂府,指導(dǎo)您像專家一樣編程拧揽。它更像是有關(guān)編程的一般信息。例如腺占,您不知道什么是Strings或Tuples或其他東西淤袜,這是獲得基本解釋的正確位置。
對于那些了解另一種編程語言的人:
在一個視頻中學(xué)習(xí)Python?—精彩的視頻衰伯,闡明了許多與Python和數(shù)據(jù)分析有關(guān)的問題铡羡,例如整數(shù),浮點數(shù)和字符串等數(shù)據(jù)類型之間的區(qū)別意鲸;該功能的結(jié)構(gòu)是什么烦周?進(jìn)口經(jīng)營者如何工作等等尽爆。
下一步對于鞏固迄今為止已取得的成就至關(guān)重要:
PracticePython.org?—一個提供完整的Python編程任務(wù)以及最重要的是其解決方案的地方。在這里读慎,您可以將自己的決策與其他人的決策進(jìn)行比較漱贱,并找到您的方法的優(yōu)點和缺點。
步驟2:Python清單和字串
甲列表是在Python數(shù)據(jù)結(jié)構(gòu)夭委,它是一個可變的幅狮,或可改變的,排序的元素的序列株灸。列表內(nèi)的每個元素或值稱為一個項目崇摄。就像將字符串定義為引號之間的字符一樣,通過在方括號[]之間使用值來定義列表慌烧。
步驟3:用于數(shù)據(jù)科學(xué)的Python庫
編程中的庫是什么逐抑?它是程序可以使用的預(yù)編譯例程的集合。例程有時稱為模塊杏死,以對象格式存儲。庫對于存儲常用的例程特別有用捆交,因為您無需將它們顯式鏈接到使用它們的每個程序淑翼。庫節(jié)省了時間,因為您不需要從頭開始構(gòu)造函數(shù)品追。
您需要學(xué)習(xí)的內(nèi)容:
Jupyter Notebook-一套用于開發(fā)程序的工具玄括。如果您通過Anaconda發(fā)行版下載了Python遭京,請使用Anaconda創(chuàng)建并保存Jupyter Notebook泞莉。這是執(zhí)行此操作的最佳方法:如何使用anaconda navigator創(chuàng)建和保存jupyter筆記本鲫趁。
學(xué)習(xí)路徑:
閱讀一般信息(大約需要30分鐘)。
打開Jupyter Notebook并加載庫堡僻。
使用有關(guān)使用庫的說明钉疫,查看庫的工作方式。
分配30分鐘以研究參考信息牲阁。
使用此學(xué)習(xí)路徑,您將掌握足夠的庫以開始在工作中使用它您炉。
您需要學(xué)習(xí)的數(shù)據(jù)科學(xué)Python庫:
1.首先赚爵,開始學(xué)習(xí)NumPy法瑟,因為它是使用Python進(jìn)行科學(xué)計算的基礎(chǔ)包/基本軟件包。它是一個Python庫窝剖,提供多維數(shù)組對象赐纱,各種派生對象(如掩碼數(shù)組和矩陣)熬北,以及用于數(shù)組快速操作的各種API,有包括數(shù)學(xué)起胰、邏輯效五、形狀操作畏妖、排序、選擇瓜客、輸入輸出谱仪、離散傅立葉變換疯攒、基本線性代數(shù)列荔,基本統(tǒng)計運(yùn)算和隨機(jī)模擬等等枚尼。
對Numpy的深入了解將幫助您更有效地使用Pandas等工具署恍。
功能強(qiáng)大的N維數(shù)組對象盯质。精密廣播功能函數(shù)概而。 集成 C/C+和Fortran 代碼的工具赎瑰。 強(qiáng)大的線性代數(shù)餐曼、傅立葉變換和隨機(jī)數(shù)功能。
需要學(xué)習(xí)的東西:?Numpy的基本概念集惋,Numpy中最常執(zhí)行的操作芋膘,例如使用N維數(shù)組鳞青,對數(shù)組進(jìn)行索引和切片,使用整數(shù)數(shù)組進(jìn)行索引厚脉,轉(zhuǎn)置數(shù)組傻工,通用函數(shù)孵滞,使用數(shù)組進(jìn)行數(shù)據(jù)處理坊饶,經(jīng)常使用統(tǒng)計方法匿级。
學(xué)習(xí)資源:?NumPy簡介染厅,NumPy教程
2.Pandas??是一個強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集肖粮;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算)涩馆,包含高級數(shù)據(jù)結(jié)構(gòu)和操作工具蕉堰,可在Python中快速輕松地進(jìn)行數(shù)據(jù)分析屋讶;用于數(shù)據(jù)挖掘和數(shù)據(jù)分析皿渗,同時也提供數(shù)據(jù)清洗功能。
?Matplotlib可用于Python腳本划乖,Python和IPythonShell迷殿、Jupyter筆記本庆寺,Web應(yīng)用程序服務(wù)器和四個圖形用戶界面工具包诉字。
需要學(xué)習(xí)的知識:系列陵霉,數(shù)據(jù)框,從軸上刪除條目踊挠,使用缺失值止毕。
3. Matplotlib 是一個 Python 繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形卤妒。用于二維或三維數(shù)據(jù)可視化则披。這是繁瑣而功能強(qiáng)大的工具士复。使用Matplotlib阱洪,您可以快速生成折線圖冗荸,直方圖蚌本,餅圖等程癌。
要學(xué)習(xí)的東西:
根據(jù)要傳達(dá)的消息創(chuàng)建不同類型的可視化席楚。了解如何根據(jù)實際數(shù)據(jù)構(gòu)建復(fù)雜的定制化地塊咬崔。
學(xué)習(xí)資源:?Matplotlib簡介税稼,Matplotlib教程
其他庫:
1. Scipy?—一個Python模塊,用于線性代數(shù)垮斯,積分郎仆,優(yōu)化,統(tǒng)計和數(shù)據(jù)科學(xué)中的其他常用任務(wù)兜蠕。它具有高度的用戶友好性扰肌,并提供了快速便捷的N維數(shù)組操作。
2. PyTorch?—基于Torch熊杨,是一個開源ML庫曙旭,主要為Facebook的人工智能研究小組構(gòu)建盗舰。雖然它是自然語言處理和深度學(xué)習(xí)的絕佳工具,但也可以有效地用于數(shù)據(jù)科學(xué)桂躏。
3. scikit-learn-專注于ML的模塊钻趋,基于SciPy構(gòu)建鳞绕。該庫通過其一致的界面提供了一套通用的ML算法,并可以幫助用戶快速在數(shù)據(jù)集上實現(xiàn)流行的算法楷扬。它還具有用于常見ML任務(wù)的所有標(biāo)準(zhǔn)工具片部,例如分類,聚類和回歸。
步驟4:練習(xí)編碼和數(shù)據(jù)科學(xué)技能
實踐是完美的吆视,尤其是在數(shù)據(jù)科學(xué)方面授滓。
好吧,如果您已經(jīng)能夠做這么長的路要走,我表示祝賀!現(xiàn)在,實際工作已經(jīng)開始,并開始使用Python進(jìn)行分析!就我個人而言,現(xiàn)階段最有效的解決方案是三種方式:參加Kaggle競賽翎朱,自己發(fā)明和解決問題澈灼,完成Python數(shù)據(jù)分析實踐課程。但是福澡,讓我們嘗試一次講一個:
參加Kaggle比賽
Kaggle經(jīng)常舉行數(shù)據(jù)分析比賽。我建議先參加無獎競賽暂吉,因為這是最簡單且對初學(xué)者更友好的競賽。隨著時間的流逝,您可以轉(zhuǎn)到更復(fù)雜的任務(wù)。
如果這種練習(xí)方法適合您仪际,請閱讀有關(guān)如何參加Kaggle競賽的指南-?Kaggle入門指南。
2.自己創(chuàng)造和解決問題
想象一下伦连,一個營銷人員由于不得不手動收集和處理數(shù)據(jù)并根據(jù)這些數(shù)據(jù)進(jìn)行可視化報告而厭倦了熬夜工作歧焦。為了簡化工作并按時回家,他設(shè)置了任務(wù)-使用Python自動執(zhí)行此過程并解決該問題刁赖。
以類似的方式,您應(yīng)該找到一些使您難以使用的東西病苗。然后您的任務(wù)是考慮如何解決它。唯一可以阻止您的事情是對操作順序的無知症汹。由此背镇,您可以跳過必要的步驟并失敗破婆。要么卡在中間,要么不知道如何進(jìn)行饰豺。
如果發(fā)生這種情況,請使用以下方法儿倒。
3.參加有關(guān)Python數(shù)據(jù)分析的實踐課程
通過實踐課程彻犁,我的意思是在必要的專業(yè)知識的指導(dǎo)下獲得必要的知識并完成一項實際任務(wù)。以下是最佳選擇:
二凰慈,參考資料:
Python 重要庫:
學(xué)習(xí)資源推薦:
貴有恒汞幢!