訪問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
點擊 閱讀原文 ,動手操作
— End —