資料分析(三)
阿新 • • 發佈:2018-12-21
Pandas的資料結構
匯入pandas:
資料分析三劍客 numpy pandas matplotlib
# 三劍客
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
1、Series
Series是一種類似於一維陣列的物件,由下面兩個部分組成:
-
index:相關的資料索引標籤
-
values:一組資料(ndarray型別)
data資料, index索引
s1 = Series([1,2,3,4]) s1 s1.index # 索引 s1.values list(‘abcd’) s2 = Series(data=[1,2,3,4],index=list(‘abcd’)) s2
還可以用字典的方式去建立 數列
Series({‘a’:1,‘b’:2,‘c’:3}) #a 1 #b 2 #c 3 #dtype: int64
1)Series的建立
兩種建立方式:
(1) 用列表形式建立
(2) 用字典形式建立
2)Series的索引和切片
顯式索引:
- 使用index中的元素作為索引值
- 使用.loc[‘索引名’](推薦)
示例:
- 索引
- 切片 注意,字元索引是閉區間 [start:end]
- 取多個值
隱式索引:
- 使用整數作為索引值
- 使用.iloc[ 索引號 ](推薦)
示例:
- 索引
- 切片 注意,編號索引是左閉右開區間 [start,end)
- 取多個值
3)Series的常用屬性和方法
可以把Series看成一個定長的有序字典
可以通過shape,size,index,values等得到series的屬性
可以通過head(),tail()快速檢視Series物件的樣式
s.head(2)看頭兩個 s.tail(1)看後一個
Series中如果值是None,會被轉成NaN。並且計算時會被當成0(ndarray不會)
可以使用pd.isnull(),pd.notnull(),或自帶isnull(),notnull() 函式檢測值為None或NaN的資料
另外 series物件有一個name屬性可以用來區分不同的series
4)Series的運算
(1) 適用於numpy的陣列運算也適用於Series
(2) Series之間的運算
- 在運算中自動對齊不同索引的資料
- 如果索引不對應,則補NaN(值和NaN相加的結果還是NaN,如果想要讓NaN的值當作0處理,可以用s1.add(s2,fill_value=0)來處理)