第一、NumPy
成都創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站設計、成都網(wǎng)站制作、外貿網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元金鄉(xiāng)做網(wǎng)站,已為上家服務,為金鄉(xiāng)各地企業(yè)和個人服務,聯(lián)系電話:18980820575
NumPy是NumericalPython的簡寫,是Python數(shù)值計算的基石。它提供多種數(shù)據(jù)結構、算法以及大部分涉及Python數(shù)值計算所需的接口。NumPy還包括其他內容:
①快速、高效的多維數(shù)組對象ndarray
②基于元素的數(shù)組計算或數(shù)組間數(shù)學操作函數(shù)
③用于讀寫硬盤中基于數(shù)組的數(shù)據(jù)集的工具
④線性代數(shù)操作、傅里葉變換以及隨機數(shù)生成
除了NumPy賦予Python的快速數(shù)組處理能力之外,NumPy的另一個主要用途是在算法和庫之間作為數(shù)據(jù)傳遞的數(shù)據(jù)容器。對于數(shù)值數(shù)據(jù),NumPy數(shù)組能夠比Python內建數(shù)據(jù)結構更為高效地存儲和操作數(shù)據(jù)。
第二、pandas
pandas提供了高級數(shù)據(jù)結構和函數(shù),這些數(shù)據(jù)結構和函數(shù)的設計使得利用結構化、表格化數(shù)據(jù)的工作快速、簡單、有表現(xiàn)力。它出現(xiàn)于2010年,幫助Python成為強大、高效的數(shù)據(jù)分析環(huán)境。常用的pandas對象是DataFrame,它是用于實現(xiàn)表格化、面向列、使用行列標簽的數(shù)據(jù)結構;以及Series,一種一維標簽數(shù)組對象。
pandas將表格和關系型數(shù)據(jù)庫的靈活數(shù)據(jù)操作能力與Numpy的高性能數(shù)組計算的理念相結合。它提供復雜的索引函數(shù),使得數(shù)據(jù)的重組、切塊、切片、聚合、子集選擇更為簡單。由于數(shù)據(jù)操作、預處理、清洗在數(shù)據(jù)分析中是重要的技能,pandas將是重要主題。
第三、matplotlib
matplotlib是最流行的用于制圖及其他二維數(shù)據(jù)可視化的Python庫,它由John D.
Hunter創(chuàng)建,目前由一個大型開發(fā)者團隊維護。matplotlib被設計為適合出版的制圖工具。
對于Python編程者來說也有其他可視化庫,但matplotlib依然使用最為廣泛,并且與生態(tài)系統(tǒng)的其他庫良好整合。
第四、IPython
IPython項目開始于2001年,由FernandoPérez發(fā)起,旨在開發(fā)一個更具交互性的Python解釋器。在過去的16年中,它成為Python數(shù)據(jù)技術棧中最重要的工具之一。
盡管它本身并不提供任何計算或數(shù)據(jù)分析工具,它的設計側重于在交互計算和軟件開發(fā)兩方面將生產力最大化。它使用了一種執(zhí)行-探索工作流來替代其他語言中典型的編輯-編譯-運行工作流。它還提供了針對操作系統(tǒng)命令行和文件系統(tǒng)的易用接口。由于數(shù)據(jù)分析編碼工作包含大量的探索、試驗、試錯和遍歷,IPython可以使你更快速地完成工作。
第五、SciPy
SciPy是科學計算領域針對不同標準問題域的包集合。以下是SciPy中包含的一些包:
①scipy.integrate數(shù)值積分例程和微分方程求解器
②scipy.linalg線性代數(shù)例程和基于numpy.linalg的矩陣分解
③scipy.optimize函數(shù)優(yōu)化器和求根算法
④scipy.signal信號處理工具
⑤scipy.sparse稀疏矩陣與稀疏線性系統(tǒng)求解器
SciPy與Numpy一起為很多傳統(tǒng)科學計算應用提供了一個合理、完整、成熟的計算基礎。
第六、scikit-learn
scikit-learn項目誕生于2010年,目前已成為Python編程者首選的機器學習工具包。僅僅七年,scikit-learn就擁有了全世界1500位代碼貢獻者。其中包含以下子模塊:
①分類:SVM、最近鄰、隨機森林、邏輯回歸等
②回歸:Lasso、嶺回歸等
③聚類:K-means、譜聚類等
④降維:PCA、特征選擇、矩陣分解等
⑤模型選擇:網(wǎng)格搜索、交叉驗證、指標矩陣
⑥預處理:特征提取、正態(tài)化
scikit-learn與pandas、statsmodels、IPython一起使Python成為高效的數(shù)據(jù)科學編程語言。
從語法上將 MultiIndex 與 .loc 集成在高級索引中是有些挑戰(zhàn)性。通常, MultiIndex 的鍵采用元組的形式。例如
注意 : 雖然也可以使用 df.loc['bar', 'two'] ,但這種簡寫的符號通常會導致歧義
如果你還想用 .loc 索引某一列,你必須像這樣使用一個元組
想要獲取第一個級別的某一標簽的所有元素,并不需要傳遞元組,例如
而不是使用 df.loc[('bar',),] (等價于 df.loc['bar',] )
當然,也可以進行切片
通過提供一個元組切片,選擇范圍內的值
傳遞一個標簽或元組列表的工作原理類似于 reindex
需要注意的是,在 pandas 中,當涉及到索引時,元組和列表的處理方式并不相同。
元組被解釋為一個多級鍵,而列表則用來指定多個鍵。或者換句話說,元組是橫向的,列表是縱向的
您可以通過提供多個索引器來對 MultiIndex 進行切片
可以使用 slice(None) 選擇該級別的所有內容,沒有指定索引的級別默認為 slice(None)
通常,切片的兩段都會包括在內,因為這是標簽索引
在使用 .loc 的時候,最好同時指定索引(行)和標簽(列),因為在某些情況下,傳遞的索引可能會被解析為兩個軸而不是 MultiIndex
你應該使用
而不是
例如
使用切片,列表和標簽的基本 MultiIndex 切片操作
你可以使用 pandas.IndexSlice 來讓 : 語法顯得更自然一些,而不是使用 slice(None)
可以使用這種方法在多個軸同時進行相當復雜的選擇
您可以使用布爾索引器來進行與值相關的選擇
您還可以為 .loc 指定 axis 參數(shù),以在某一個軸上傳遞切片
此外,您可以使用以下方法設置這些值
也可以在等號右邊使用可對齊對象
DataFrame 的 xs() 方法還接受一個 level 參數(shù),以便更容易在 MultiIndex 的特定級別上選擇數(shù)據(jù)
使用切片
您還可以為 xs 提供 axis 參數(shù)來選擇列
使用切片
xs 還允許使用多個鍵進行選擇
使用切片
您可以將 drop_level=False 傳遞給 xs ,以保留所選擇的級別
使用 drop_level=True (默認值)與上面的結果比較
在 pandas 對象的 reindex() 和 align() 方法中使用 level 參數(shù),可以在一個級別上廣播值
swaplevel() 方法可以切換兩個級別的順序
reorder_levels() 方法是 swaplevel 方法的推廣,允許你在一個步驟中排列分層索引級別
rename() 方法可用于重命名 MultiIndex 的標簽,通常用于重命名 DataFrame 的列
rename 的 columns 參數(shù)允許指定需要重命名的列的字典
這個方法也可以用來重命名 DataFrame 主索引的特定標簽
rename_axis() 方法用于重命名 Index 或 MultiIndex 的名稱。
特別地,可以指定 MultiIndex 的級別名稱,可以使用 reset_index() 將 MultiIndex 移動到列
注意 : DataFrame 的列是一個索引,因此使用 rename_axis 和 columns 參數(shù)可以改變該索引的名稱
rename 和 rename_axis 都支持指定字典、 Series 或映射函數(shù)來將標簽/名稱映射到新值
當直接使用 Index 對象而不是通過 DataFrame 工作時,可以使用 Index.set_names() 來更改名稱
您不能通過 level 設置 MultiIndex 的名稱
使用 Index.set_names() 替代
python的index函數(shù)可以獲取列表中值的第一個索引。
list= [1,2,3,4,5,1,2,2]
list.index(2) 1
如果要獲取相同值的最后一個索引:
len(list) - list[::-1].index(2) - 1
反向取得list后,用list的長度減去反轉后出現(xiàn)的第一個索引再減1
當前題目:python庫函數(shù)索引,Python索引函數(shù)
文章來源:http://jinyejixie.com/article24/dssoije.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、小程序開發(fā)、用戶體驗、做網(wǎng)站、網(wǎng)站排名、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)