Python之Pandas庫常用函數大全(含注釋)


前言:本博文摘抄自中國慕課大學上的課程《Python數據分析與展示》,推薦剛入門的同學去學習,這是非常好的入門視頻。

繼續一個新的庫,Pandas庫。Pandas庫圍繞Series類型和DataFrame類型這兩種數據結構,提供了一種高效便捷的數據處理方式。

- Series 類型創建

Series類型是一組數據及與之相關的數據索引組成
自動索引:
a = pd.Series([9, 8, 7, 6]) 構造一個Series對象a
這里寫圖片描述
自定義索引:
a = pd.Series([9, 8, 7, 6], index = [‘a’, ‘b’, ‘c’, ‘d’])
這里寫圖片描述

- 從標量值創建:

s = pd.Series(25, index = [‘a’, ‘b’, ‘c’])
這里寫圖片描述

- 從字典類型創建:

鍵值對中的鍵是索引
d = pd.Series({‘a’:9, ‘b’:8, ‘c’:7})
這里寫圖片描述
這里寫圖片描述

  • 從ndarray類型創建:
    這里寫圖片描述
    這里寫圖片描述
  • Series類型基本操作
  • ,index 獲得索引 .values 獲得數據

這里寫圖片描述
這里寫圖片描述

Series類型會自動生成默認索引,當自動索引和自定義索引並存,全當自定義索引。
這里寫圖片描述

只索引,得到值。做切片,得到還是Series類型數據。
這里寫圖片描述
in : 判斷“鍵”是否在字段中 返回 True / False
b.get(‘f’, 100) 獲取b的索引為‘f’的數據,若不存在,返回100

Series類型對齊操作
這里寫圖片描述
索引一致的,對應元素相加,無一致的索引,數據為NaN

Series類型的name屬性
這里寫圖片描述

- DataFrame類型創建

DataFrame是表格型類,可理解為二維代表簽數據類型, 其由共用相同索引的一組列組成: index(axis=0),colum(axis=1)

從ndarray創建DataFrame類型
d= pd.DataFrame(np.arange(10).reshape(2,5))
這里寫圖片描述
從字典創建DataFrame類型
這里寫圖片描述

字典中的鍵,默認為列索引;
只選取字典中有的索引所對應的值,沒有的自動補齊

從列表創建DataFrame類型
這里寫圖片描述

d[‘one’] 獲得新的DataFrame類型
d.ix[‘b’] 獲得d的 b這一列
d[‘one’][‘b’] 獲得 數據 2 注意:必須先[‘one’]后[‘b’],先列后行

- Pandas數據類型操作

重新索引
reindex(index=None, columns=None,…)方法 可改變或重排Series和DataFrame索引
reindex(index=None, columns=None,…)
index, colums 新的行列自定義索引
fill_value 在重新索引,用於填充缺失位置的值
method 填充方法,ffill當前值向前填充, bfill向后填充
limit 最大填充量
copy 默認為True,生成新的對象,False時,新舊相等,但不復制

d.reindex(index = [‘d’, ‘c’, ‘b’, ‘a’ ])
d.reindex(colums = [‘two’, ‘one’])
這里寫圖片描述

newc = d.colums.insert( 4, ‘新增’) newc為一個colums

- 索引類型常用方法

.append(idx) 連接另外一個Index對象,產生新的Index對象
.diff(idx) 計算差集,產生新的Index對象
.intersection(idx) 計算交集,產生新對象
.union(idx) 計算並集
.delete(loc) 刪除loc位置處的元素
.insert(loc, e) 在loc位置增加一各元素e
這里寫圖片描述

刪除指定索引對象
.drop()可刪除Series或DataFrame制定的行或列

d.drop([‘c1’, ‘c2’]) # 此處生成新對象,原對象d不改變
d.drop(‘one’,axis=1) 要刪除列,需要加上axis = 1.

  • Pandas庫數據類型運算

算術運算法則
根據行列索引進行運算,補齊(NaN)后運算,運算默認產生浮點數
二維和一維、一維和零維時,采用廣播運算,即低的於高的每一維運算

算術運算方法形式的運算
.add(d, **argws) .sub(d, **argws) .mul(d, **argws) .div(d, **argws)
**argws為可選參數:
fill_value,補齊時填充的值;

廣播運算時,一維的列默認作用到二維的行(axis=1),要更改到列,則需要增加參數
a.add(b, axis=0 )

比較運算
同維度需要有相同的shape
不同維度時,默認為在1軸運算

- 數據排序

.sort_index()方法在指定軸上根據索引進行排序,默認升序。
.sort_index(axis=0,ascending = True) ascending是指遞增排序
.sort_values()方法在指定軸上根據數值進行排序,默認升序。
Serier.sort_values(axis= 0, ascending=True)
DataFrame.sort_values(by, axis = 0, ascending = True)
by: 只對axis軸上的某個 索引 或 索引列表 進行排序
這里寫圖片描述
NaN空值,保持在排序末尾

- Pandas統計分析函數

.sum() 計算數據總和,按0軸計算
.count() 非NaN值的數量
.mean() .median() 計算算術平均值、算術中位數
.var() .var() 計算方差、標准差
.min() .max 計算最小、大值

.argmin() .argmax() 計算最大、小值所在位置的索引(針對自動索引的)(適用於Series類型:)
.idxmin() .idxmax() 計算最大、小值所在位置的索引(針對自定義索引的)(適用於Series類型:)

.describe() 針對0軸(各列)的統計匯總
這里寫圖片描述
這里寫圖片描述

- 數據的相關性

.cov() 計算協方差矩陣
.corr() 計算相關系數矩陣
這里寫圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM