1. 程式人生 > >python學習第05篇-20181101

python學習第05篇-20181101

今天學習了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