python關於Pandas的基礎知識

2021-08-29 23:48:47 字數 2316 閱讀 3903

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()的具體用法見:

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型別

pandas中關於nan的處理

在pandas中有個另類的存在就是nan,解釋是 not a number,不是乙個數字,但是它的型別確是乙個float型別。numpy中也存在關於nan的方法,如 np.nan 對於pandas中nan的處理,簡單的說有以下幾個方法。檢視是否是nan,s1.isnull 和 s1.notnull ...

Python中的Pandas模組

目錄 pandas series 序列的建立 序列的讀取 dataframe dataframe的建立 dataframe資料的讀取 panel panel的建立 pandas python data analysis library 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立...

python 的pandas模組學習

最近程式設計需要用到pandas包,今天就簡單分享一下自己的學習心得。分享的內容主要是pandas資料的調取。比如我們要匯入乙個資料 可以使用以下 匯入資料 在pd.read table函式中間可以設定分隔符,行名字 列名等等。具體的函式大家有興趣可以自己搜尋。匯入資料之後我們要對資料進行行資料提取...