❶ python-Numpy基礎
如果你已經裝有 Anaconda,那麼你可以使用以下命令通過終端或命令提示符安裝 NumPy:
conda install numpy
如果你沒有 Anaconda,那麼你可以使用以下命令從終端上安裝 NumPy:
pip install numpy
安裝好 NumPy 後,你就可以啟動 Jupyter notebook 開始學習了。接下來從 NumPy 數組開始
就好比一個矩陣
numpy.empty 方法用來創建一個指定形狀(shape)、數據類型(dtype)且未初始化的數組:
參數說明:
參數 描述
shape 數組形狀
dtype 數據類型,可選
order 有"C"和"F"兩個選項,分別代表,行優先和列優先,在計算機內存中的存儲元素的順序。
舉例
輸出結果
創建指定大小的數組,數組元素以 0 來填充:
舉例
結果輸出
創建指定形狀的數組,數組元素以 1 來填充:
舉例
同樣是類型,但是注意這個和上邊的區別,一個是數組的形式,一個是矩陣的形式。
❷ numpy知識點大全及如何用python作圖
int inthestr(char *s,char ch)
{
while(*s!='\咐氏磨0'衡斗核肆){
if(*s==ch)
return 1;
s++;
}
return 0;
}
❸ 初學者怎麼學習Python
Python是一種計算機程序設計語言。你可能已經聽說過很多種流行的編程語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網頁編程的JavaScript語言等等。
那Python是一種什麼語言?
首先,我們普及一下編程語言的基礎知識。用任何編程語言來開發程序,都是為了讓計算機幹活,比如下載一個MP3,編寫一個文檔等等,而計算機幹活的CPU只認識機器指令,所以,盡管不同的編程語言差異極大,最後都得「翻譯」成CPU可以執行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。
比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。
所以Python是一種相當高級的語言。
你也許會問,代碼少還不好?代碼少的代價是運行速度慢,C程序運行1秒鍾,Java程序可能需要2秒,而Python程序可能就需要10秒。
那是不是越低級的程序越難學,越高級的程序越簡單?表面上來說,是的,但是,在非常高的抽象計算中,高級的Python程序設計也是非常難學的,所以,高級程序語言不等於簡單。
但是,對於初學者和完成普通任務,Python語言是非常簡單易用的。連Google都在大規模使用Python,你就不用擔心學了會沒用。
用Python可以做什麼?可以做日常任務,比如自動備份你的MP3;可以做網站,很多著名的網站包括YouTube就是Python寫的;可以做網路游戲的後台,很多在線游戲的後台都是Python開發的。總之就是能幹很多很多事啦。
Python當然也有不能乾的事情,比如寫操作系統,這個只能用C語言寫;寫手機應用,只能用Objective-C(針對iPhone)和Java(針對Android);寫3D游戲,最好用C或C++。
如果你是小白用戶,滿足以下條件:
會使用電腦,但從來沒寫過程序;
還記得初中數學學的方程式和一點點代數知識;
想從編程小白變成專業的軟體架構師;
每天能抽出一個半小時學習。可以看下面的代碼
learning=input('DoyouwanttolearnPythonnow(YesorNo):')
a=str(learning)
ifa=='Yes':
print('QQ1129834903')
else:
print('Thanks!!')
❹ Python—Numpy庫的用法
NumPy 是一個 Python 包。 它代表 「Numeric Python」。 它是一個由多維數組對象和用於處理數組的常式集合組成的庫。
NumPy 支持比 Python 更多種類的數值類型。 下表顯示了 NumPy 中定義的不同標量數據類型。
[('age', 'i1')]
[10 20 30]
[('abc', 21, 50.0), ('xyz', 18, 75.0)]
每個內建類型都有一個唯一定義它的字元代碼:
[[1, 2] [3, 4] [5, 6]]
[[[ 0, 1, 2] [ 3, 4, 5] [ 6, 7, 8] [ 9, 10, 11]] [[12, 13, 14] [15, 16, 17] [18, 19, 20] [21, 22, 23]]]
[1 2 3]
[1 2 3]
[(1, 2, 3) (4, 5)]
原始數組是: [[ 0 5 10 15] [20 25 30 35] [40 45 50 55]]
修改後的數組是: 0 5 10 15 20 25 30 35 40 45 50 55
原始數組是: [[ 0 5 10 15] [20 25 30 35] [40 45 50 55]]
原始數組的轉置是: [[ 0 20 40] [ 5 25 45] [10 30 50] [15 35 55]]
修改後的數組是: 0 5 10 15 20 25 30 35 40 45 50 55
C風格是橫著順序
F風格是豎著的順序
原始數組是: [[ 0 5 10 15] [20 25 30 35] [40 45 50 55]]
修改後的數組是: [[ 0 10 20 30] [ 40 50 60 70] [ 80 90 100 110]]
第一個數組: [[ 0 5 10 15] [20 25 30 35] [40 45 50 55]]
第二個數組: [1 2 3 4]
修改後的數組是: 0:1 5:2 10:3 15:4 20:1 25:2 30:3 35:4 40:1 45:2 50:3 55:4
原始數組: [[0 1 2 3] [4 5 6 7]]
調用 flat 函數之後: 5
原數組: [[0 1 2 3] [4 5 6 7]]
展開的數組:默認是A [0 1 2 3 4 5 6 7]
以 F 風格順序展開的數組: [0 4 1 5 2 6 3 7]
原數組: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]
轉置數組: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]
❺ 0基礎學習python怎麼入門呢
該如何學習Python呢?
(1)選擇學習方向。學習Python主要目的是用語言來解決問題,而不是了解這門語言。Python應用方向有很多,Python基礎知識學習完後,應用方向不同需求也不同;雖然Python需要系統化的學習,但是在學習Python的時候,想要告訴大家還是需要提前確定一下自己感興趣的方向,有針對性的學習更為重要。
(2)規劃學習路線。當確定好自己的發展方向之後,下一步就是順著方向去學習,建立好自己的學習路線。要有系統化的學習路線,需要完成什麼樣的目標,需要學習哪些知識,需要懂哪些知識,這樣每次學習一個部分,就可以有實際的結果輸出,結果的輸出才可以鼓勵進行下一步的學習。
(3)合理規劃時間。劃好自己的學習時間,每天進度是什麼,每天學習幾個小時都是需要提前確定的,有計劃有規劃的去學習,堅持下來才會有意外的收獲。
用任何編程語言來開發程序,都是為了讓計算機工作。目前有很多種流行的編程語言,如難學的C語言,普遍的Java語言,適合初學者的Basic語言,適合網頁編程的JavaScript語言等,Python適合初學者的一種計算機程序設計語言。
❻ python numpy怎麼學
可以到網上查針對Python庫的教程,自學。
❼ 如何系統地學習Python 中 matplotlib,numpy,scipy,pandas
Python 可以由一系列的平台支持。它編譯完備的格式可以在 Windows 和 MacOS 及其自身 Tk 擴充平台上運行,並可用於開發對用戶友好的界面。在 UNIX 和其它平台上, Python 可以作為源代碼由程序員自行編譯,或者與其它預編的二進制編碼共同使用。它超強的適應性更能讓它有跨平台適用的能力:用它在 UNIX 平台上書寫的程序段95%的情況下無須作任何修改就可用於 Mac 和 PC 機。擴充 Tk 平台對它的支持,甚至可以讓基於GUI 格式的應用程序不用大動筋骨就可在上述三種平台上做自由切換,還保持著統一的界面。 正因為這種天然生就的跨平台運行能力,Python 還能支持一些平台的擴充平台,從而簡化和免除了對其它語言和環境的適應過程。與 SunOS / Solaris 工具帶有 Sun 音頻設備及 SGI版本帶有視音頻介面(包括 OpenGL)一樣,Windows Pytyon 解釋器也同樣帶有 Visual C++ 類庫和 Windows 音頻驅動介面。此外還有與 COM 對象進行通訊的功能。 超大的功能性 Python 幾乎無所不能。它的內核很小,但卻擁有足夠的基本程序塊用於設計大部分應用軟體。而且在某些情況下該程序語言還可以擴充與 C,C++ 和 Java 語言並用,因此沒有它編不了的程序。 Python 解釋器還帶有極為強大的補充模塊庫,用於擴充語言能力,進行網路通訊、文本處理和規則表達式匹配。 雖然 Python 的主要特點是隱去程序員的許多低級復雜工作,它還能支持鉤、擴充程序以及其它功能對某些操作系統進行低級接入。正因為這種高低兼行的特點,Python 可以視作和 C,Visual Basic 同等級別的語言,或是介於二者間的其它級別的語言。 超凡的擴容性 因為 Python 本身用 C 語言寫成(某些擴充平台採用C++語言編寫),而且它採用開放式的源代碼,這樣可以對程序本身進行主動擴充。另外該程序語言的許多模塊由 C 和 C++ 界面支持,包括一些諸如網路和DBM資料庫接入等基本構件,以及其它如 Tk 等許多先進工具。 此外,Python 還能融入 C 或 C++ 語言,從而可以使用 Python 語言為應用程序提供編程界面。也正基於它的跨語言開發的支持能力,還可以使用 Python 設計應用程序後再輸送到為 C 語言環境而無須將程序用 C 語言重寫,因為兩種語言均可同時使用。 JPython 是一個完全採用 Java 語言編寫的 Python 解釋器,這就意味著任何 Python 程序都可與一個 Java 對象或是使用 Python 對象的應用程序相聯結。 超常的簡易性 了解了 Python 以上幾個基本特點後,再對程序語言它內容進行了解就相對容易了。該語言內核很小,而且格式和文體簡明。由於所有其它的組件和擴充部分都使用完全一樣的句法結構,利用 Python 編程會很快讓人速成。 但這並不意味著 Python 語言就沒有復雜的地方。對其許多擴充部分和內庫都必需經過深思熟慮後方可進行有效的利用。 超強的功能性 擁有如此廣泛的支持和博採眾長的特徵,Python 在處理一系列問題上都顯得特別有效。以下為它的功能簡介: 計算器: 由 Python 支持的一個擴充程序叫 NumPy,它可以提供與許多標准數學庫相連的介面。Python 語言還擁有無限精確的特性,可以單獨處理100位數字的算術。 文字處理器: Python 能夠對任何數據進行分割、累加和總結。它的模塊可以對日誌文件行中的元素進行分割,並根據內置的數據種類對其信息進行記錄和總結,最後才進行輸出。它的規則表達式庫使程序員可以使用 emacs,Perl 等等。 這再次證明 Python 的無所不能,曾經有程序員還利用 Python 編製成非常復雜的 SGML 處理工具。 便捷的應用開發: Python對程序員而言一目瞭然,用它編程迅速有效。它博大的模塊庫可以提供針對不同協議、工具和庫的介面。免除重新開發之苦。 由於Python 還支持 Tk 工具,所以可以在幾個小時內完成一個應用軟體,而用 Perl 語言可能會需要2到3天,用 C 語言甚至要幾個星期。 跨平台開發: Python 以中立方式支持不同的一系列平台,如果用戶使用的系統包含不同的平台,使用 Python 開發應用程序則再好不過;它這種適應性也可以為系統預留使用其它工具的可能。對於頻繁更換平台用戶,Python 是個理想的選擇。 為最終用戶提供軟體服務時,Python 也是個備選方案,可以避免同時用不同應用軟體編程的時間和費用。 系統設備 Python旨在避免操作系統中低級部分的滋擾,但如若需要主動進入這些低級部分時也完全可以通過相應的工具和擴充件來實現。與操作系統一樣, Python 可以進入相同的的功能,並予以備份和擴充,而且備份和擴充後的功能會增加 Python 的所有的適應性和介面能力。 互聯網程序設計 Python 帶有的標准模塊可以對網路插槽進行初級和協議級別的通訊,比如,如果要從 POP 伺服器上讀取電子郵件,Python 隨帶的庫模塊可以做到。另外, Python 還支持 XML、HTML和 CGI 庫文件,所以利用它可以解析用戶輸入的需求,並通過網路伺服器產生最佳質量的成果。 程序員還可為擁有 Python 內置解釋器的 Apache、Unix 和 Windows 網路伺服器編譯模塊。基於 CGI 程序的功效,可以很方便地執行 Python 語句而不用單獨裝載。 資料庫編程 Python 中有無數的擴充模塊可以連接如 Orcle、Informix 、mySOL和PostgreSql等通用的資料庫系統;還有稱作 Gadfly 的工具可以獨立Python 提供完全的SQL環境。Python 有強大的文本和數據處理能力,可以用它作為不同資料庫間的連接,比起那些資料庫附帶的總結和匯報工具顯得更有優勢。同時,由於它支持不同系統,用同樣的介面也可以連接任何資料庫。可以用 Tk 在支持平台上建立前端,馬上就可獲得高速跨平台、獨立資料庫的查詢工具。 其它 Python 應用范圍廣泛,幾乎沒有它不適配的語言;憑籍它的微小內核、豐富功能、多樣數據,Python 提供了一個良好的程序構建基礎。綜合了C 和 C++二者的優點,只要採用合適的結構和方式,便可對 Python 程序進行無限的擴充。除了一大堆顯著的優點,Python 也有缺點。 要列出 Python 的缺點確實不太容易。Python 在其擴充模塊中提供了大部分的功能,並充分顯示了對其增加功能有多容易,一旦用它還不能解決問題,那麼也僅需要利用 C 或 C++ 語言重新編寫一個擴充程序便可。 批評 Python 的人往往不是說Python 缺乏某種功能,而是對這種功能並不了解。通常還有一種抱怨說 Python 缺少規則表達式的支持-但實際上有兩個模塊可以用來處理規則表達式,其中之一還可以完全用來支持 Perl 語言的句式句法。對規則表達式的處理並沒有編進該語言中,但並不等於它作不到。 針對 Perl、Rebol 和 Java 語句而言, Python 的優勢在於它的內核很小。這減少了執行的時間,因為在運行時需要裝載的代碼較少,而且這個特點也使它有著更廣的適應性。 一旦熟悉了 Python 語句的簡明風格,它的強大優勢頓時便會凸現出來。用它編就的程序歷久不衰。 Python 的理想用戶群 它適合不同類型的用戶以解決不同類型的問題。大部分時候這些問題一般不為人所知,因為它們有著較高的保密性。也有大型公司用它進行商用開發,並展示開發所獲的成果。 紅帽 (Red Hat )曾用 Python 和 Tk 一起成功開發配置和管理操作系統的可視界面。整個系統可以全面控制 linux 操作系統,並根據用戶選擇對配置文件作自動更新。 Infoseek 在其公用搜索引擎使用了Python。該公司還用 Python 對其軟體進行定製,使最終用戶能對該網站內容進行方便下栽。 美國航空航天局也在不少領域中用到 Python 程序語言,最出名的莫過於在任務控制中心將 Python 用於任務計劃;對 Python 在其它方面的使用例如用其計算天體方位和設計衛星的路徑等等都充分體現了 Python 的超強計算能力。 以在「星球大站」、「阿貝斯 (Abyss)」、 「星球之旅 (Star Trek)」、 「印地安那瓊斯 (Indiana Jones)」超級大片中當綱特技和動畫製作的工業光魔公司 (Instrial Light)也採用 Python 製作商業動畫。 什麼是Python? Python是一種即譯式的,互動的,面向對象的編程語言,它包含了模組式的操作,異常處理,動態資料形態,十分高層次的動態資料結構,以及類別的使用。Python揉合了簡單的語法和強大的功能。它的語法表達優美易讀。它具有很多優秀的腳本語言的特點:解釋的,面向對象的,內建的高級數據結構,支持模塊和包,支持多種平台,可擴展。而且它還支持互動式方式運行,圖形方式運行。它擁有眾多的編程界面支持各種操作系統平台以及眾多的各類函數庫。利用C和C++可以對它進行擴充。個別的應用軟體如果需要有一個可程序化界面也可以利用它來做為擴展語言用。最後,Python的可移植度非常高:它可以在許多的Unix類平台上運行,在Mac,MS-DOS,視窗Windows,Windows NT,OS/2,BeOS,以至RISCOS上都有相關的Python版本。 簡單的說它具有以下一些特徵: l 是一種解釋性的,面向對象的,具有動態語義的程序設計語言。 l 適合快速開發。 l 能集成到其他流行的伺服器,也自帶伺服器。 l 提供清晰的數據/邏輯/表示的分離。 l 帶有可擴展的內置對象和強大的集成安全模塊。 Python的歷史 Python的創始人為Guido van Rossum。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為程序的名字,是因為他是一個Monty 大蟒蛇飛行馬戲團的愛好者。 ABC是由Guido參加設計的一種教學語言(沒聽說過)。就Guido本人看來,ABC這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言並沒有成功,究其原因,Guido認為是非開放造成的。Guido決心在Python中避免這一錯誤(的確如此,Python與其它的語言如C,C++和Java結合的非常好)。同時,他還想實現在ABC中閃現過但未曾實現的東西。 就這樣,Python在Guido手中誕生了(真要感謝他)。實際上,第一個實現是在Mac機上。可以說,Python是從ABC發展起來,主要受到了Mola-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。並且結合了Unix Shell和C的習慣。 Python可用在哪些地方? Python可以用在許多場合。當你需要大量的動態調整,要容易使用,功能強大並且富有彈性的情況,Python可以發揮很好的功效。 在處理文字方面,Python的核心功能(不需要任何擴充庫的情況下)比別的編程語言更為易用而且速度相當。這使Python在需要處理字元串的工作(包括系統管理,CGI編程)上成為高效的語言。 當Python加上它的標准擴充庫(如PIL,COM,Numeric,Oracledb,kjbuckets,tkinter,win32api,等等)或是特別擴充庫(你自己寫的,或是用SWING做的,或是利用ILU/COBRA/com的)後,它可以變成一個很好的「膠合語言」或者叫「指導語言」。就是指把不同的編程環境和互不相關的軟體功能整合的工具。例如把Numeric和Oracledb透過Python結合起來你就可以替你的資料庫數據做系統分析。Python的簡單、易用以及方便而強大的c/c++擴展方面使它成為一種十分優秀的「膠合語言」。 許多開發人員也在寫圖形用戶界面時廣泛的採用了Python。如果在Windows下,如果想做一個圖形界面程序,那麼Python可以勝任。可以去wxPython/projects/swig/)。 有趣的語法 Guido認為Python的語法是非常優美的。其中一點就是,塊語句的表示不是C語言常用的{}對,或其它符號對,而是採用縮近表示法!有趣吧。就這一點來說,Guido的解釋是:首先,使用縮近表示法減少了視覺上的混亂,並且使程序變短,這樣就減少了需要對基本代碼單元注意的范圍;其次,它減少了程序員的自由度,更有利於統一風格,使得閱讀別人的程序更容易。感覺還是不錯的,就C語言來說,在if語句後面大括弧的寫法就好幾種,不同的人喜歡不同的樣子,還不如統一起來,都不會看得別扭。 在每個類或函數的定義後面,第一行可以是說明語句,根本不需要注釋符標記。對於後面跟塊語句的語句,後面應跟上一個冒號。一行語句不能太長,因為沒有行結束符,如果超長則要使用續行符(\\)。還有一些有趣的比如說,象下面的一個比較處理,用C語言為: if (2 用Python可以表示為 if (2 什麼是Zope? Zope是一個開放源代碼的Web應用伺服器,採用Python語言開發,使用它您可以方便的構建內容管理、內部網、門戶網站、和其他的定製應用。 l 高度面向對象的Web開發平台,採用Python語言開發。 l 可以運行在幾乎所有流行的操作系統上,支持多語言。 l 能集成到其他流行的伺服器,也自帶伺服器。 l 提供清晰的數據/邏輯/表示的分離 。 l 帶有可擴展的內置對象和強大的集成安全模塊。 什麼是Plone? Pone是一個Zope上的一個用戶友好、功能強大的開放源代碼內容管理系統。Plone適合用作內部網/外部網的伺服器、文檔發布系統、門戶伺服器和異地協同群件工具,到目前,Plone其實已經發展成為了一個應用開發平台。 l 是一種功能強大的開放源碼(Open Source)內容管理系統(CMS) 。 l 通過Web瀏覽器來訪問、編輯內容和管理,易於更新內容 。 l 無需編程,即可創建新的內容類型 。 l 協同的編輯和發布機制 。
❽ 如何系統地學習Python 中 matplotlib,numpy,scipy,pandas
我分享一下4本比較好的電子書(3本中文1本英文)
先看《python科學計算》,裡面有這4個模塊的講解,條理很清晰(裡面還有tkinter等其他內容,不想看的話可以不看)
然後《python金融大數據分析》《利用python進行數據分析》兩本根據自己的需求選擇一本來學習吧(如果對金融方面沒有需要的話,建議學後者。如果能兩本都學了就更好了,不過我自己還沒學完啊(lll¬ω¬))
《Mastering pandas for finance》這本書對pandas講得很好,比網上那些什麼「1小時搞定pandas」之類的好多了,不過沒有中文翻譯版。雖然是全英文,但如果題主英語基礎還好的話,是可以學習的,不會看得很費勁。
鏈接:http://pan..com/s/1dEWOtO1 密碼:3qkr
滿意的話能賞點分么~
❾ 學python的10個有效方法有哪些
學習python主要是自學或者報班學習的方式,但不建議自學。
如果想通過學習python改行,那就需要明確一下自己的方向。因為python編程有很多方向,有網路爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智慧、量化交易等等,各個方向都有特定的技能要求。
想學的話,當然是可以學習的。python是一門語法優美的編程語言,不僅可以作為小工具使用提升我們日常工作效率,也可以單獨作為一項高新就業技能!
python可以做的事情:
軟體開發:用python做軟體是很多人正在從事的工作,不管是B/S軟體,還是C/S軟體,都能做。並且需求量還是挺大的;
數據挖掘:python可以製作出色的爬蟲工具來進行數據挖掘,而在很多的網路公司中數據挖掘的崗位也不少;
游戲開發:python擴展性很好,擁有游戲開發的庫,而且游戲開發絕對是暴力職業;
大數據分析:如今是大數據的時代,用python做大數據也是可以的,大數據分析工程師也是炙手可熱的職位;
全棧工程師:如今程序員都在向著全棧的方向發展,而學習python更具備這方面的優勢;
系統運維:python在很多linux中都支持,而且語法特點很向shell腳本,學完python做個系統運維也是很不錯的。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
❿ 如何系統地學習Python 中 matplotlib,numpy,scipy,pandas
總結一下自己學習,接觸了Numpy,Pandas,Matplotlib,Scipy,Scikit-learn,也算是入門,給出自己的軌跡(略去安裝),並總結一下其他人的答案,最後有彩蛋。
Numpy:
來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多,本身是由C語言開發。這個是很基礎的擴展,其餘的擴展都是以此為基礎。數據結構為ndarray,一般有三種方式來創建。
Python對象的轉換
通過類似工廠函數numpy內置函數生成:np.arange,np.linspace.....
從硬碟讀取,loadtxt
快速入門:Quickstart tutorial
Pandas:
基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。最具有統計意味的工具包,某些方面優於R軟體。數據結構有一維的Series,二維的DataFrame(類似於Excel或者SQL中的表,如果深入學習,會發現Pandas和SQL相似的地方很多,例如merge函數),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。學習Pandas你要掌握的是:
匯總和計算描述統計,處理缺失數據 ,層次化索引
清理、轉換、合並、重塑、GroupBy技術
日期和時間數據類型及工具(日期處理方便地飛起)
快速入門:10 Minutes to pandas
Matplotlib:
Python中最著名的繪圖系統,很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。創世人John Hunter於2012年離世。這個繪圖系統操作起來很復雜,和R的ggplot,lattice繪圖相比顯得望而卻步,這也是為什麼我個人不丟棄R的原因,雖然調用
plt.style.use("ggplot")
繪制的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的復雜給其帶來了很強的定製性。其具有面向對象的方式及Pyplot的經典高層封裝。
需要掌握的是:
散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪制。
繪圖的三大系統:pyplot,pylab(不推薦),面向對象
坐標軸的調整,添加文字注釋,區域填充,及特殊圖形patches的使用
金融的同學注意的是:可以直接調用Yahoo財經數據繪圖(真。。。)
Pyplot快速入門:Pyplot tutorial
Scipy:
方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等等。
基本可以代替Matlab,但是使用的話和數據處理的關系不大,數學系,或者工程系相對用的多一些。(略)
近期發現有個statsmodel可以補充scipy.stats,時間序列支持完美
Scikit-learn:
關注機器學習的同學可以關注一下,很火的開源機器學習工具,這個方面很多例如去年年末Google開源的TensorFlow,或者Theano,caffe(賈揚清),Keras等等,這是另外方面的問題。
主頁:An introction to machine learning with scikit-learn
圖書:
Pandas的創始者:利用Python進行數據分析 (豆瓣)(力薦)
教材的集合:Scipy Lecture Notes(寫的非常棒!遺憾缺少Pandas)
提升自己:機器學習實戰 (豆瓣)