一、處理數(shù)據(jù)的基本內(nèi)容 數(shù)據(jù)分析 是指對數(shù)據(jù)進(jìn)行控制、處理、整理、分析的過程。 在這里,“數(shù)據(jù)”是指結(jié)構(gòu)化的數(shù)據(jù),例如:記錄、多維數(shù)組、Excel里的數(shù)據(jù)、關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)、數(shù)據(jù)表等。 二、說說Python這門語言 Python是現(xiàn)在最受歡迎的動態(tài)編程語言之一(還有Perl、Ruby等)。近些年非常流行用Python建站,比如流行的Python Web框架Django。 Python這類語言被稱為腳本語言,因?yàn)樗鼈兛梢跃帉懞喍檀植诘男〕绦?,即腳本。不過這好像在說Python無法構(gòu)建嚴(yán)謹(jǐn)?shù)能浖频?,其?shí)經(jīng)過幾年來不斷改良, Python不但擁有強(qiáng)大的數(shù)據(jù)處理功能,而且完全可以用它構(gòu)建生產(chǎn)系統(tǒng) 。 不過由于Python是一種解釋型語言, 大部分Python代碼都要比編譯型語言(比如C++和Java)的代碼慢得多 。所以在那些要求延遲非常小的應(yīng)用中,為了盡最大可能優(yōu)化性能,使用C++這種更低級且低生產(chǎn)率的語言更值得。 對于高并發(fā)、多線程的應(yīng)用程序,Python也不是一種理想的編程語言 ,這是因?yàn)镻ython有一個叫GIL(全局解釋器鎖)的東西,這是一種防止解釋器同時執(zhí)行多條Python字節(jié)碼指令的機(jī)制。這并不是說Python不能執(zhí)行真正多線程并行代碼,只不過這些代碼不能在單個Python進(jìn)程中執(zhí)行而已。 三、與數(shù)據(jù)分析相關(guān)的Python庫 NumPy NumPy是Python科學(xué)計算的基礎(chǔ)包,它提供:
它專為進(jìn)行嚴(yán)格的數(shù)字處理而產(chǎn)生。多為很多大型金融公司使用,以及核心的科學(xué)計算組織如:Lawrence Livermore,NASA用其處理一些本來使用C++,F(xiàn)ortran或Matlab等所做的任務(wù)。 Pandas Pandas主要提供快速便捷地處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù)。 Matplotlib Matplotlib是最流行的用于繪制數(shù)據(jù)圖表的Python庫。 IPython IPython是Python科學(xué)計算標(biāo)準(zhǔn)工具集的組成部分,是一個增強(qiáng)的Python Shell,目的是提高編寫、測試、調(diào)試Python代碼的速度。主要用于交互式數(shù)據(jù)處理和利用matplotlib對數(shù)據(jù)進(jìn)行可視化處理。 SciPy
四、環(huán)境安裝與配置 很簡單,以Mac OS X系統(tǒng)安裝步驟為例:
檢測是否安裝成功: 啟動IPython,導(dǎo)入pandas并輸入plot(arange(100)),如果彈出一個包含一條直線的繪圖框即表示安裝成功。 包含一條直線的繪圖框: 打算寫一個完整的系列,接下來一篇隨筆內(nèi)容是:利用Python進(jìn)行數(shù)據(jù)分析(二)嘗試處理一份JSON數(shù)據(jù)并生成條形圖,有興趣的朋友歡迎關(guān)注本博客,也歡迎大家添加評論進(jìn)行討論。
|
|