Python數據結構
Python數據結構有列表、元組、字典、隊列、棧、樹等等。
Python中的數據結構有非常多的類型,其中,Python中系統自己定義好的,不需要我們自己去定義的數據結構叫做Python的內置數據結構,比如列表、元組等,而有些數據組織方式,Python系統裡面沒有直接定義,需要我們自己去定義實現這些數據的組織方式,這些數據組織方式成為Python的擴展數據結構,比如棧、隊列等。
1.python數據類型分析
數值(Number)
字符串(String)
列表(List)
字典(Dictionary)
元組(Tuple)
2.數值類型講解
int–整型
float–浮點型
bool–布爾型
fractions–分數
complex–複數
3.數值
int:python3中的int都是長整型,沒有大小限制,受限於內存區域大小的限制.
float:由整數部分和小數點部分組成,支持十進制和科學計數表示,c的雙精度型實現.
complex:有實數和虛數表示,實數和虛數都是浮點數,1+2j.
bool:int的子類,僅有兩個實例True,False對應1和0,可以整數直接運算.
4.字符串
一個一個的字符組成的有序數列叫做字符串,從python3開始字符串的類型就是unicode.
5.列表
隊列內個體稱為元素,有多個元素組成列表,元素可以是任意對象,如數字,字符串,對象,列表等.
列表採用線性的數據結構,使用[]表示,類型是可以變的,可以使用索引.
python數據分析工具一:IPython
IPython是一個在多種編程語言之間進行交互計算的命令行shell,最開始是用python開發的,提供增強的內省,富媒體,擴展的shell語法,tab補全,豐富的歷史等功能。IPython提供瞭如下特性:
更強的交互shell(基於Qt的終端)
一個基於瀏覽器的記事本,支持代碼,純文本,數學公式,內置圖表和其他富媒體
支持交互數據可視化和圖形界面工具
靈活,可嵌入解釋器加載到任意一個自有工程裡
簡單易用,用於並行計算的高性能工具
python數據分析工具二:GraphLabGreate
GraphLabGreate是一個Python庫,由C++引擎支持,可以快速構建大型高性能數據產品。
這有一些關於GraphLabGreate的特點:
可以在您的計算機上以交互的速度分析以T為計量單位的數據量。
在單一平臺上可以分析表格數據、曲線、文字、圖像。
最新的機器學習算法包括深度學習,進化樹和factorizationmachines理論。
可以用HadoopYarn或者EC2聚類在你的筆記本或者分佈系統上運行同樣的代碼。
藉助於靈活的API函數專注於任務或者機器學習。
在雲上用預測服務便捷地配置數據產品。
為探索和產品監測創建可視化的數據。
python數據分析工具三:Pandas
pandas是一個開源的軟件,它具有BSD的開源許可,為Python編程語言提供高性能,易用數據結構和數據分析工具。在數據改動和數據預處理方面,Python早已名聲顯赫,但是在數據分析與建模方面,Python是個短板。Pands軟件就填補了這個空白,能讓你用Python方便地進行你所有數據的處理,而不用轉而選擇更主流的專業語言,例如R語言。
整合了勁爆的IPyton工具包和其他的庫,它在Python中進行數據分析的開發環境在處理性能,速度,和兼容方面都性能卓越。Pands不會執行重要的建模函數超出線性迴歸和麵板迴歸;對於這些,參考statsmodel統計建模工具和scikit-learn庫。為了把Python打造成頂級的統計建模分析環境,我們需要進一步努力,但是我們已經奮鬥在這條路上了。
python數據分析工具四:PuLP
線性編程是一種優化,其中一個對象函數被最大程度地限制了。PuLP是一個用Python編寫的線性編程模型。它能產生線性文件,能調用高度優化的求解器,GLPK,COINCLP/CBC,CPLEX,和GUROBI,來求解這些線性問題。
python數據分析工具五:Matplotlib
matplotlib是基於Python的2D(數據)繪圖庫,它產生(輸出)出版級質量的圖表,用於各種打印紙質的原件格式和跨平臺的交互式環境。matplotlib既可以用在python腳本,python和ipython的shell界面(alaMATLAB?或Mathematica?),web應用服務器,和6類GUI工具箱。
matplotlib嘗試使容易事情變得更容易,使困難事情變為可能。你只需要少量幾行代碼,就可以生成圖表,直方圖,能量光譜(powerspectra),柱狀圖,errorcharts,散點圖(scatterplots)等。
為簡化數據繪圖,pyplot提供一個類MATLAB的接口界面,尤其是它與IPython共同使用時。對於高級用戶,你可以完全定製包括線型,字體屬性,座標屬性等,藉助面向對象接口界面,或項MATLAB用戶提供類似(MATLAB)的界面。
python數據分析工具六:Scikit-Learn
Scikit-Learn是一個簡單有效的數據挖掘和數據分析工具(庫)。關於最值得一提的是,它人人可用,重複用於多種語境。它基於NumPy,SciPy和mathplotlib等構建。Scikit採用開源的BSD授權協議,同時也可用於商業。Scikit-Learn具備如下特性:
分類(Classification)–識別鑑定一個對象屬於哪一類別迴歸(Regression)–預測對象關聯的連續值屬性聚類(Clustering)–類似對象自動分組集合降維(DimensionalityReduction)–減少需要考慮的隨機變量數量模型選擇(ModelSelection)–比較、驗證和選擇參數和模型預處理(Preprocessing)–特徵提取和規範化。
python數據分析工具七:Spark
Spark由一個驅動程序構成,它運行用戶的main函數並在聚類上執行多個並行操作。Spark最吸引人的地方在於它提供的彈性分佈數據集(RDD),那是一個按照聚類的節點進行分區的元素的集合,它可以在並行計算中使用。RDDs可以從一個Hadoop文件系統中的文件(或者其他的Hadoop支持的文件系統的文件)來創建,或者是驅動程序中其他的已經存在的標量數據集合,把它進行變換。用戶也許想要Spark在內存中永久保存RDD,來通過並行操作有效地對RDD進行復用。最終,RDDs無法從節點中自動復原。
Spark中第二個吸引人的地方在並行操作中變量的共享。默認情況下,當Spark在並行情況下運行一個函數作為一組不同節點上的任務時,它把每一個函數中用到的變量拷貝一份送到每一任務。有時,一個變量需要被許多任務和驅動程序共享。Spark支持兩種方式的共享變量:廣播變量,它可以用來在所有的節點上緩存數據。另一種方式是累加器,這是一種只能用作執行加法的變量,例如在計數器中和加法運算中。
閱讀更多 python全棧工程師 的文章