1、介紹
Pandas是一個開源的,BSD許可的庫(基於numpy),爲Python編程語言提供高性能,易於使用的數據結構和數據分析工具。python
官方中文文檔:https://www.pypandas.cn/docs/linux
本次演示使用數據來自github:https://github.com/jakevdp/PythonDataScienceHandbook/tree/master/notebooks/datagit
2、快速入門
1.導入github
2.重點數據結構編程
主要是series和dataframe數組
因此通常狀況下咱們導入的是數據分析的三劍客:數據結構
numpy Series DataFrame:(若是隻導入pd,那就正常使用pd.Series便可了)編程語言
from pandas import Series,DataFrame
3、Series
Series是Pandas中的一維數據結構,相似於Python中的列表和Numpy中的Ndarray,不一樣之處在於:Series是一維的,能存儲不一樣類型的數據,有一組索引與元素對應。也就是加了索引的一維數據結構(索引不必定是0 1 2 3的數字)函數
1.建立工具
1)經過列表或者numpy數組進行建立,默認索引是0 1 2 3這樣的整數索引。示例如上圖
想要指定索引,能夠設置index參數:(建立的時候指定也是能夠的)
特別地,使用ndarray建立的series是引用,對series的改變會影響ndarray
2)由字典建立
Series主要分爲index、values兩塊
2.索引和切片
1).使用index做爲索引值(不推薦)
2)使用升級爲Series以後的loc()函數(推薦)
3)使用隱式索引(不顯式指定索引的內容值,經過相似ndarray的索引風格取數據)
4)切片,能夠直接[]或者loc形式
3.Series基本概念
1)經常使用屬性:index、values、shape(一維的,因此只能是一個元素的元組)、size
2)能夠經過head()、tail()等查看頭部和尾部數據(相似linux的命令),只看前5個或者後5個
3)索引沒有對應的值時,值會出現NaN,也就是數據缺失的狀況,在np中使用np.nan表示這個空值,python中就是None表示了
4)可使用 isnull()、notnull()來檢測空值:
能夠經過notnull()等進行空數據過濾:
s2 = s.notnull() # 如下取出的即是爲True的非空數據 s[s2]
5)每一個Series都有一個name屬性,能夠在DataFrame中進行區分,在df中,也就至關於列名
6)Series運算
能夠正常的進行加減運算,其中None值不會參與計算,而ndarray值爲None時爲報錯,爲np.nan時計算結果爲nan
或者經過s1.add(10,fill_value= 0)等形式來控制NaN的默認值
兩個Series之間也能夠運算,不對齊的部分(也就是索引不相等的部分),補充NaN
要保留index不對齊的部分,可使用add()方法:,經過fill_value