本文基於數據分析庫pandas,分享我在工作中常常需要使用的幾個關於數據定位的常用語法以及幾個小知識點。
01loc和iloc
目前pandas的版本已經取消了ix和at等語法,推薦使用的是loc和iloc這兩種語法定位數據
loc是location的縮寫,iloc是index_location的縮寫,前者是基於標籤(標籤是指通過列名或者索引名定位數據),後者是基於索引(是指通過列或者行的索引定位數據)
使用方法
通過行列:loc[row_name: column_name],iloc[row_index:column_index]單個標籤:loc[row] ;iloc[row_index] -> -> 某一行數據切片:loc[row:row],iloc[row_index: row_index] -> 某行到某行的數據lambd函數的使用定位數據
loc[4]和iloc[4]的使用和區別
loc[2:5]和iloc[2:5]的區別
其實還可以這樣用,用lambda函數
根據索引位置定位元素
02列印索引和列名
03讀取excel表
讀取某張特定sheet語法
pd.read_excel('path_to_file.xls', sheet_name='Sheet1')
讀取多張sheet表
file_path = "/Users/mark-chen/Documents/test.xlsx"with pd.ExcelFile(file_path) as xls:df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2')
04數據合併
數據的合併分為兩種,一種是追加:是指在某一df的最後一列直接追加另一個df數據集合;一種是關聯:是指類似於使用sql語句的inner join/left join/ right join等操作兩個不同的df
一般來講,concat/append是用來進行追加操作(concat的性能一般要優於append語法);而merge是用來對數據進行關聯操作
這裡簡單介紹下這兩個語法
concat語法
pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)
append語法
df1.append(s2, ignore_index=True,sort=False)
merge語法
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x','_y'), copy=True, indicator=False, validate=None)
本章<完>!
我是一名奮戰在編程界的pythoner,工作中既要和數據打交道,也要和erp系統,web網站保持友好的溝通……時不時的會分享一些提高效率的編程小技巧,在實際應用中遇到的問題以及解決方案,或者源碼的閱讀等等,歡迎大家一起來討論!如果覺得寫得還不錯,歡迎關注點讚,謝謝。