1. 程式人生 > 實用技巧 >Python資料分析:pandas 類庫及常用方法

Python資料分析:pandas 類庫及常用方法

定義:pandas是基於NumPy陣列構建的,使資料預處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜資料設計的,而NumPy更適合處理統一的數值陣列資料。

import pandas as pd

資料結構:Series | DataFrame。

Series:pd.Series(list,index=[ ]) 類似於一維陣列的得物件,是由一組資料+一列索引組成。可以使用切片,運算等操作,類似於ndarray。

DataFrame:pd.DataFrame(data,columns = [ ],index = [ ]) 是一個表格形的資料型別。常用型別。axis = 1 列 axis = 0 行

資料轉換:

1:pd.DataFrame(Series) 可以把Series結構變為DataFrame。

2:DataFrame.values 可以把DataFrame結構變為 一個numpy 的ndarray。也可以通過索引或者列名獲得一個Series。df['列名'] 或者 df.列名。

常用方法:

1,df.reset_index(drop=True) 重置索引,會建立一個新物件。預設保留原來索引,加上drop=True刪除原來索引。

2,df.set_index() 設定一列索引。

3,df.drop() 刪除指定行值或列值(axis = 1 列 axis = 0 行,預設為行)。

df.drop(index=df[df["
價格"].isnull()].index, inplace=True) # 例如:刪除價格為空的所有行

4,del df['列'] 刪除一列值。

5,df.dropna() 刪除指定的行或者列 為空 的值。

6,df.drop_duplicated() 刪除重複值,可指定列,指定保留第一行,或者最後一行。

7,df.loc['行','列'] 通過標籤定位資料,df.iloc[:] 通過索引定位資料。

8,df.sort_values('列',axis=0, ascending=True) 排序。Series不需要引數列,ascending預設True升序。

9,df.describe() 快速列出資料的概要,多個維度的彙總統計。

10,df.info() 索引,資料型別,記憶體資訊等。

11,df.unique() 返回一個Series裡面唯一值組成的陣列。

12,df.sum() 計算一列的和。

13,df.count() 計算非NaN值的總量。

14,df.mean() 計算一列的平均值。

15,df.median() 計算一列的中位數。

16,df.mode() 計算一列的眾數。

17,df.var() 計算一列的方差。

18,df.std() 計算一列的標準差。

19,df.min() 計算一列的最小值。

20,df.max() 計算一列的最大值。

21,df.value_counts() 計算一列中資料出現的頻率。

22,df.groupby() 分組。

23,df.head() 取出資料的前幾行。

24,df.tail() 取出資料的後幾行。

25,read_csv(),read_excel(),read_sql(),read_json(),read_html() 等.... pandas提供的讀取資料方法。

26,to_excel() 寫入excel檔案,可以用pd.ExcelWriter()申明物件儲存多個sheet。

27,pd.contact() ,pd.append() 行資料合併拼接,只在axis = 0上操作。

28,pd.merge() 資料關聯操作,類sql,可以設定關聯方向:left, right,inner,outer。 join()類merge,但是隻能在索引關聯。

29,pd.rename(columns={'原名':'修改名'}, inplace = True) 修改列名。

30,df['列'].fillna(0) 把一列裡面為空的賦值為0.

31,df['列'].astype(int) 轉換一列資料型別。

32,df.agg() 指定列或者行上 一個或者多個操作資料聚合。

...後續陸續加入