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