python關於Pandas的基礎知識

pandas中數據文件的讀取——read_csv()和read_table()

read_csv() 讀取以‘,’分割的文件到DataFrame 
read_table()讀取以‘/t’分割的文件到DataFrame,其中sep參數設置可以讀取任意分隔符分割的文件,所以我們常用read_table()函數讀取數據

#以下兩條代碼語句等價
A=pd.read_table('User_M.csv',sep=',')#讀取csv文件
B=pd.read_csv('User_M.csv')

另外的技巧:使用header與names

#將header與names聯合使用可以修改數據文件的列名
unames=['第一列的列名','第二列的列名','第三列的列名']
A=pd.read_table('User_M.csv',sep=',',header=None,names=unames)
#header=None表示不讀取源文件列名,names=unames表示將讀取的數據列名修改爲unames

dataframe數據的寫入:將dataframe寫入成csv文件

pd.to_csv('Movie_idTo_title.csv')#文件存儲位置爲程序的當前文件夾,也可以指定文件路徑

dataframe的連接:使用pd.merge()函數

#left和right均爲dataframe
result = pd.merge(left, right)#採用默認連接會把具有相同列名的,相同行而不同值的數據刪除

pd.merge()的具體用法見:https://blog.csdn.net/quincuntial/article/details/70990990

dataframe刪除指定行或指定列:pd.drop()函數

pd.drop(['行'])#默認刪除行
pd.drop(['列'],axis=1)#axis=1,刪除列

 dataframe刪除重複的行或列:pd.drop_duplicates()函數

pd.drop_duplicates(subset=['movie_id'],keep='first',inplace=True)
#subset的默認值爲subset=None表示考慮所有列
#keep='first'表示保留第一次出現的重複行,是默認值。keep另外兩個取值爲"last"和False,分別表示保留最後一次出現的重複行和去除所有重複行。
#inplace=True表示直接在原來的DataFrame上刪除重複項,而默認值False表示生成一個副本

dataframe對指定列或指定行進行排序:pd.sort_values()

pd.sort_values(axis=0,by='movie_id',inplace=True,ascending=True)
#axis=1,橫向排序,默認即爲縱向排序    
#默認axis=0,by="列名";axis=1,by="行名"  
#ascending:True則升序,默認降序 
#inplace:布爾型,是否用排序後的數據框替換現有的數據框  

dataframe對指定列或行統計詞頻:pd.value_counts()函數

pd.value_counts(a.values, sort=False,ascending=True)#統計電影類別詞頻

dataframe的完全複製,而不是引用原來的dataframe:copy.deepcopy()函數

import copy
data1= copy.deepcopy(data)

dataframe中的ix、iloc、loc區別

#iloc主要使用數字來索引數據,而不能使用字符型的標籤來索引數據
#loc則剛好相反,只能使用字符型標籤來索引數據,不能使用數字來索引數據
#ix是混合型索引,數字字符均可以

dataframe中的columns和index

pd.columns=list(range(1,6041))#傳入的必須是list
pd.index=range(1,1100)#傳入的range類型

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章