pandas入門 panda速查速記
阿新 • • 發佈:2019-02-12
#資料讀取與匯出 import pandas as pd import numpy as np pd.read_csv(filename,sep='')#從csv檔案匯入資料 pd.read_csv(filename,sep='',header=none)#匯入沒有頭的檔案 #構造DataFrame資料 df=pd.DataFrame([[1,2,3],[4,5,6]],columns=['f1','f2','f3']) #匯出資料 df.to_csv(filename,index=False) #資料檢視 df.head(n)#檢視資料的前n行 df.tail(n)#檢視DataFrame物件的最後n行 df.shape()#檢視行數和列數 df.info()#檢視索引、資料型別和記憶體資訊 df.describe()# 檢視數值型列的彙總統計 s=df['user_id']#根據列名以Serise的形式返回列 df[['user_id','item_id']]#以DataFrame形式返回多列 s.iloc['index_one']#按索引選取 資料 df.iloc[0,:]#返回第一行 df.iloc[0,0]#返回第一列的第一個元素 df.sample(frac=0.5)#取樣 #資料整理 pd.isnull()#檢查DataFrame物件中的控制,並返回一個Boolean陣列 df.dropna(axis=0)#刪除所有包含空值的行 df.dropna(axis=1)#刪除所有包含空值的列 df.dropna(axis=1,thresh=n)#刪除所有小於n個非空值的行 df.fillna(x)#用x替換DataFrame物件中的所有的空值 df.fillna(df.median)#中位數填充 s.replace(1,'one')#用'one'代替所有等於1的值 df.columns= ['a','b','c']#重新命名列名 df.rename(columns=lambda x:x+1)#批量重新命名列名 df.rename(index=lambda x:x+1 )#批量重新命名索引 #資料處理 df[df[col]>0.5]#選擇col列的值大於0.5的行 df.sort_values(by='col',ascending=True)#按照列col排序資料,預設升序排序 #資料合併 df1.append(df2)#將df2中的行新增到df1的尾部 pd.concat([df1,df2],axis=1)#按列合併 pd.concat([df1,df2],axis=0)#按行合併 df.corr()#返回所有列與列之間的相關係數 df.count()#返回每一列中的非空值的個數 df.dtypes()#檢視資料型別 df['uesr_id'].hist()#檢視變數分佈 df.isnull().sum()#檢視每一列缺失值的情況 df['user_id'].unique()#檢視資料取值 a.sort_index(axis=1,ascending=False)#axis=1表示對所有的columns進行排序 a.sort(column='x')#對DataFrame中的值進行排序 選取物件 a['x']#選取特定的列, 選取行資料,通過切片[]來選擇 a[0:3]#選取前三行的資料 loc是通過 行標籤來選擇資料 iloc通過行號索引行資料 ix通過行標籤或者行號索引行資料(基於loc和iloc的混合) a.loc['one'] #預設表示選取行為'one'的行 a.loc[:,'a','b']表示選取所有行以及columns為a,b的列 a.loc[['one','two'],['a','b']]表示選取‘one’和‘two’這兩行以及columns為ab的列 a.loc[0]表示選取第一行的資料 條件選擇 a[a.c>0]表示選擇c列中大於0 的資料 賦值 a.loc[:,['a','c']=9 即將a和c列的所有行中的值設定為9 a.dropna(how='any')表示去掉包含缺失值的行 a.fillna(value=x) 表示用值為x 的數來對缺失值 進行填充 統計某一列x中格格之出現的次數 a['x'].value_counts() 對資料應用函式 a.apply(lambda x :x.max()-x.mnin())表示 返回所有列中最大值-最小值的差