1. 程式人生 > 實用技巧 >Pandas基本用法

Pandas基本用法

Pandas基本用法

目錄

1、匯入pandas庫

import pandas as pd

2、匯入檔案

.csv

使用pd.read_csv(),常用的引數入下:

filepath_or_buffer :檔案地址,可以簡略寫也可以完整寫。

df = pd.read_csv('./datafile.csv')              #假設程式碼檔案和目標檔案在一個目錄下,地址可以簡略寫
df = pd.read_csv('D:/Datasets/datafile.csv')    #也可以用檔案的完整地址名來匯入

sep: str 間隔引數,一般預設為','。(因為csv檔案預設就是以逗號分隔)

header: int or list of ints. 表頭所在的行號,預設是'infer'

names: array-like, default None. 給定表頭名稱。

dtype: Type name or dict of column -> type, default None. 可以更改列資料的型別。dtype = str或者dtype = {'Col1': str, 'Col2': int}

usecols: list-like or callable, default None

. 讀取指定列。

skiprows: list-like or integer, default None. 跳過指定行。

skipfooter: int, default 0. 跳過後若干行。

nrows: int, default None. 僅讀取前若干行,對讀取大檔案有用。

na_values: scalar, str, list-like, or dict, default None. 將指定值視為Na/Nan。

na_filter: boolean, default True. 是否對缺失值(空字串或Na/Nan)進行標記。在讀大檔案時,如果確認沒有缺失值,則False可以提高讀取效能。

parse_dates: boolean or list of ints or names or list of lists or dict, default False. 將指定列解析為日期。

.xlsx

使用pd.read_excel()

.txt

使用pd.read_txt()

.xpt

使用pd.read_sas()

3、匯出檔案

pd.to_excel()pd.to_csv()

4、建立檔案

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],
                   "values":[111,222,333,444,555,666]})

5、檢視基本資料資訊

#基本資訊
df.info()
#值
df.values
#列名稱
df.columns
#維度
df.shape
#每一列的格式
df.dtypes
#某一列的格式
df['Col1'].dtype
#判斷每一個數據是否是空值
df.isnull()
#某一列的唯一值
df['Col1'].unique()
#前若干行資料(預設是10)
df.head()
#後若干行資料(預設是10)
df.tail()
#某一列的均值
df['Col1'].mean()
#某一列的最大值(最小值用min())
df['Col1'].max()

6、資料預處理

#用指定值(如0)來填充空值,原檔案不變
df.fillna(value = 0)
#大小寫轉換
df['Col1'].str.lower()
#更改某一列資料格式
df['Col1'].astype('int')
#更改列名
df.rename(columns={'before_name': 'after_name'})
#資料替換
df.replace('before_value','after_value')
#設定索引列
df.set_index('Col1')
#重設索引
df.reset_index()
#按照特定列的值排列
df.sort_values(by = ['Col1'])
#按照索引列排列
df.sort_index
#按條件更改資料。(例:Col1列的值大於100,Col2列顯示high,否則顯示low)
df['Col1'] = np.where(df['Col2'] > 100,'high','low')
#判斷是否存在給定資料
df['Col1'].isin(['values1'])

7、資料提取

#提取特定值[行][列]
df.loc[3]
df.loc[1:3][5]
#提取經過判斷後的值
df.loc[df['Col1'].isin(['values1'])]
df.loc[df['Col1'].isin(['values1']), ['Col1','Col2']] #僅提取特定列
df.loc[(df['Col1']>100) & (df['Col1']<900)]