python學習第05篇-20181101
阿新 • • 發佈:2018-12-13
今天學習了python資料分析工具pandas中Series資料結構中第二種資料結構DataFrame資料框的概念和一些基本操作:
一、DataFrame的概念
DataFrame :資料框用於儲存多行多列的資料集合,是Series的容器,類似於Excel的二維表格
二、基本操作和使用
操作:增,刪,查,改 使用方法: DataFrame(columnsMap) df = DataFrame({'age':Series([25,26,28]),'name':Series(['tom','jack','ben'])}, index=[0,1,2]) 結果: age name 0 25 tom 1 26 jack 2 28 ben 資料框的訪問方式: 訪問列:變數名[列名] # df['name'] 訪問行:變數名[n:m] #訪問n行到m-1行, df[1:2] 訪問塊(行和列):變數名.iloc[n1:n2,m1:m2] # 訪問n1到n2-1行,m1到m2-1列的資料, df.iloc[0:2,0:2] 訪問指定的位置:變數名.at[行名,列名] # B = df.at[2,'name'] df2 = DataFrame(data={'age':[21,22,23],'name':['KEN','Join','Jimi']},index=['first','second','third']) df2.at['second','name'] # 'Join' df2.at[2,'name'] # 報錯 當有索引名時, 不能用索引號 # 修改列名 df2.columns = ['age2','name2'] # 修改行索引 df2.index = range(1,4) # 根據行索引刪除 df2.drop(1,axis=0) # axis=0表示行軸,也可以省略 # 根據列名進行刪除 df2.drop('age2', axis=1) # axis=1表示列軸,不可以省略 # 第二種刪除列的方法 del df2['age2'] # 增加列 df2['age2'] = [21,22,23] # 增加行 df2.loc[len(df2)] = ['tomcat',34] # 效率較低 # 合併DataFrame來增加行 df3 = DataFrame([[1,2],[3,4]],columns=list('AB')) df4 = DataFrame([[5,6],[7,8]],columns=list('AB')) df3.append(df4) 結果: A B 0 1 2 1 3 4 0 5 6 1 7 8 只是簡單把兩個DataFrame疊加成新的資料框,不修改index df3.append(df4,ignore_index=True) 結果: A B 0 1 2 1 3 4 2 5 6 3 7 8 合併成一個新的資料框,併產生新的index