教程 | pandas輕鬆入門 之 數據結構介紹 1

        

訪問flyai.club,一鍵創建你的人工智能項目


           

        Pandas含有使數據清洗和分析工作變得更快更簡單的數據結構和操作工具。pandas經常和其它工具一同使用,如數值計算工具NumPy和SciPy,分析庫statsmodels和scikit-learn,和數據可視化庫matplotlib。pandas是基於NumPy數組構建的,特別是基於數組的函數和不使用for循環的數據處理。


        雖然pandas採用了大量的NumPy編碼風格,但二者最大的不同是pandas是專門爲處理表格和混雜數據設計的。而NumPy更適合處理統一的數值數組數據。


        自從2010年pandas開源以來,pandas逐漸成長爲一個非常大的庫,應用於許多真實案例。開發者社區已經有了800個獨立的貢獻者,他們在解決日常數據問題的同時爲這個項目提供貢獻。


        導入pandas的標準格式:


        

        要使用pandas,你首先就得熟悉它的兩個主要數據結構:Series和DataFrame。雖然它們並不能解決所有問題,但它們爲大多數應用提供了一種可靠的、易於使用的基礎。


        Series是一種類似於一維數組的對象,它由一組數據(各種NumPy數據類型)以及一組與之相關的數據標籤(即索引)組成。僅由一組數據即可產生最簡單的Series



        Series的字符串表現形式爲:索引在左邊,值在右邊。由於我們沒有爲數據指定索引,於是會自動創建一個0到N-1(N爲數據的長度)的整數型索引。你可以通過Series 的values和index屬性獲取其數組表示形式和索引對象:



        通常,我們希望所創建的Series帶有一個可以對各個數據點進行標記的索引:



        與普通NumPy數組相比,你可以通過索引的方式選取Series中的單個或一組值:



        ['c', 'a', 'd']是索引列表,即使它包含的是字符串而不是整數


        使用NumPy函數或類似NumPy的運算(如根據布爾型數組進行過濾、標量乘法、應用數學函數等)都會保留索引值的鏈接:



        還可以將Series看成是一個定長的有序字典,因爲它是索引值到數據值的一個映射。它可以用在許多原本需要字典參數的函數中:



        如果數據被存放在一個Python字典中,也可以直接通過這個字典來創建Series:



        如果只傳入一個字典,則結果Series中的索引就是原字典的鍵(有序排列)。你可以傳入排好序的字典的鍵以改變順序:



        在這個例子中,sdata中跟states索引相匹配的那3個值會被找出來並放到相應的位置上,但由於"California"所對應的sdata值找不到,所以其結果就爲NaN(即“非數字”(not a number),在pandas中,它用於表示缺失或NA值)。因爲‘Utah’不在states中,它被從結果中除去。


        我將使用缺失(missing)或NA表示缺失數據。pandas的isnull和notnull函數可用於檢測缺失數據:



        Series也有類似的實例方法:



        對於許多應用而言,Series最重要的一個功能是,它會根據運算的索引標籤自動對齊數據:



        數據對齊功能將在後面詳細講解。如果你使用過數據庫,你可以認爲是類似join的操作。


        Series對象本身及其索引都有一個name屬性,該屬性跟pandas其他的關鍵功能關係非常密切:



        Series的索引可以通過賦值的方式就地修改:


        



教程 | Jupyter Notebook初級教程——迷死人的基礎操作

教程 | Jupyter Notebook基礎教程——快捷鍵的使用

教程 | Python之Numpy ndarray 基本介紹 1

教程 | Python之Numpy ndarray 基本介紹 2

教程 | Python之Numpy ndarray 基本介紹 3

教程 | Python之Numpy ndarray 基本介紹 4

教程 | 通用函數:快速的元素級數組函數

教程 | 使用數組進行數組編程(上)

教程 | 使用數組進行數組編程(下)

教程 | Numpy的線性代數運算

教程 | Numpy的僞隨機數生成


點擊 閱讀原文 ,動手操作


—  End —



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章