python資料分析處理庫-Pandas之Series結構及Series常用操作方法
阿新 • • 發佈:2018-12-13
我上上篇部落格說過:Pandas資料結構為DataFrame,裡面可以同時是int、float、object(string型別時)、datatime、bool資料型別。而構成DataFrame結構的每一列或每一行是Series結構,令人吃驚的是Series裡面的結構是ndarray (numpy中的) 結構
Pandas之Series常用操作方法1
import pandas as pd fandango = pd.read_csv('fandango_score_comparison.csv') #讀檔案 series_film = fandango['FILM'] #查詢該檔案的名為"FILM"的列 print(type(series_film)) #看結果列印型別是Series型別 print(series_film[0:5]) series_rt = fandango['RottenTomatoes'] print(series_rt[0:5]) 結果是: <class 'pandas.core.series.Series'> #可以看到型別是Series型別 0 Avengers: Age of Ultron (2015) 1 Cinderella (2015) 2 Ant-Man (2015) 3 Do You Believe? (2015) 4 Hot Tub Time Machine 2 (2015) #列印了"FILM"列的第0到4的資料 Name: FILM, dtype: object 0 74 1 85 2 80 3 18 4 14 #列印了"RottenTomatoes"列的第0到4的資料 Name: RottenTomatoes, dtype: int64
Pandas之Series常用操作方法2
from pandas import Series film_names = series_film.values #檢視該Series的value print(type(film_names)) #從結果看出:Series的value是ndarray結構 rt_scores = series_rt.values series_custom = Series(rt_scores, index=film_names) #以電影名為索引構造Series,前一個引數是電影評分 print(series_custom[['Minions (2015)','Leviathan (2014)']]) #以電影名為索引搜尋其評分 print(series_custom[5:10]) #列印此Series中第5到10的資料 結果是: <class 'numpy.ndarray'> #可看出,Series裡面的結構是ndarray結構 Minions (2015) 54 Leviathan (2014) 99 #以電影名為索引搜尋到的其評分 dtype: int64 The Water Diviner (2015) 63 Irrational Man (2015) 42 Top Five (2014) 86 Shaun the Sheep Movie (2015) 99 Love & Mercy (2015) 89 #此Series中第5到10的資料 -----對Series排序 series_custom.sort_index() #按索引進行排序 series_custom.sort_value() #按值進行排序 -----設定索引 fandango_films = fandango.set_index('FILM', drop=False) #將某一列設定成索引,此時就有2個索引了,另一個是預設的,fandango是之前讀取檔案獲得的物件 -----設定索引之後,可以用設定索引的列的元素進行資料檢視(切片方式) fandango_films["設定索引的列的元素1":"設定索引的列的元素2"] #檢視元素1到元素2之間的所有元素 -----自定義函式方式對Series操作 a = b[["列名1", "列名2"]] #a和b都是Series a.apply(lambda x: np.std(x), axis=1) #通過列1和列2對a物件求標準差
需要fandango_score_comparison.csv檔案把程式碼走一遍的,評論聯絡我