Pandas是一個基於Numpy的數據分析包,這個庫就是爲數據分析而生的,你能夠像操做Excel同樣操做Pandas,實現數據的選擇排序、篩選過濾、統計分析等功能,實際上,Pandas就是Python中的Excel,在學習Pandas以後你會更加深入的理解這句話是多麼的形象準確的。數組
爲了簡化表示,本文示例中的pd表示pandas庫,即import pandas as pd。數據結構
1、基礎數據結構DataFrame和Seriesapp
Pandas中最基礎的數據結構就是DataFrame和Series,從數組的角度理解,能夠將DataFrame看做是二維數組,將Series看做是一維數組,固然,最直觀的理解就是DataFrame是一個Excel表格,由行索引、列名和數據(二維數組)組成,而Series是則表中的一列數據,只有行索引和數據(一維數組)兩部分。學習
1. 建立DataFrame和Seriesspa
一個DataFrame能夠看做是由行索引、列名及數據(二維數組)三部分構成,對於行索引,在Pandas中的處理是比較特殊的,好比有n行數據,默認狀況下,行索引會是咱們熟悉的從0到n-1的索引號,可是咱們也能夠本身指定每一行的行索引,或者說是行標籤,經過行標籤一樣也能取到對應行的數據。固然,列名若是沒有指定,一樣是0到n-1的序號。3d
經過列表建立DataFrame:對象
經過字典建立DataFrame:blog
經過文件建立DataFrame:排序
csv文件數據索引
代碼示例
經過列表建立Series:
2. 查看DataFrame和Series
DataFrame和Series對象有許多快速查看自身信息的屬性和方法,由於Series的許多屬性和方法與DataFrame都是類似的,因此這裏就只列一些DataFrame中比較經常使用的:
簡單示例:
2、索引操做
這裏說的索引指的是行索引或者說行標籤,Pandas中關於行索引有許多巧妙且實用的用法,能幫助咱們更好的進行數據分析,具體見示例代碼。
對於索引的使用,便可以像Numpy中那樣去操做Pandas中的索引,也可使用iloc()方法和loc()方法去操做索引,區別在於iloc()方法只能用於原始的0到n-1索引,而loc()方法能夠將本身指定的行標籤像索引同樣去操做,具體見示例代碼。
3、經常使用方法
由於Pandas的核心是Numpy庫,因此Numpy中的一些特點用法在Pandas中也是可使用的,好比經過算術運算符實現對每一個元素的加減乘除等操做,以及使用max、mean等統計方法在Pandas中也都是支持的。
如下列舉一些DataFrame和Series的經常使用操做和方法(具體的參數使用請參考對應的幫助文檔或官方API文檔),爲了簡化表示,df表明DataFrame對象,s表明Series對象,具體使用效果見示例代碼。
4、SQL功能
Pandas中有一些方法能實現像SQL同樣的功能,如groupby方法能夠實現SQL中的分組功能,merge方法能夠實現SQL中的錶鏈接功能,具體見示例代碼。
5、透視表
所謂透視表,就是使用pivot()方法或pivot_table()方法從本來的表格中抽取三列內容並將其轉換爲另外一個表格,以便更直觀、更方便地去觀察和分析這三列數據,具體效果看了示例就明白了。
6、時間處理
Pandas中有一套本身的時間字符串處理方法,並且使用起來也很方便,如pd.Timestamp()能夠將字符串轉換爲時間戳,pd.Timedelta()能夠進行時間的加減運算,pd.to_datetime()能夠將字符串轉換爲日期。若是遇到了時間格式字符串,建議優先考慮Pandas自帶的時間處理方式。
7、批量處理map和apply
若是想要對錶格中某行或某列的全部元素執行同一個操做,可使用map()方法, 而想要對錶格中全部行或全部列都執行同一個操做,則可使用apply()方法。