本文測試使用Pandas使用的是Spyder,python3.6版本,已經安裝好pandas包。
DataFrame資料框是用于存儲多行和多列的資料集合(可以聯想到excel中的表格)。
資料的定義:
from pandas import DataFrame
#定義一個資料框
df=DataFrame(
data={
'age':[18,19,20],
'name':['jack','mick','john']
})
索引預設為數字。
自定義索引
df=DataFrame(
data={
'age':[18,19,20],
'name':['jack','mick','john']},
index=['first','second','third'])
資料通路:
按列通路:df['age']
按行通路:df[1:2]擷取的是第二行(索引1為)
按行列号通路:df.iloc[0:1,0:1]通路的是第一行第一列的内容
按行索引,列名通路:df.at['first','name']通路的是行名為first,列名為name的資料,如果沒有設定則将’first’換為索引值即可,如果設定列名不可以使用索引值。
表格修改:
修改列名:(擷取列名:df.columns)df.columns=['age2','name2']
修改行索引:(擷取行索引:df.index) df.index=range(1,4)
資料删除:
根據行索引删除:df.drop(1)删除行索引為1的資料,其中還有一個參數axis 預設為0
根據列名删除:df.drop("age2",axis=1)删除列名為age2的資料;或者使用del df['age2']
資料添加:
增加行:df.loc[len(df)]=[22,'jackpi'](這種方法效率比較低,不應該出現在周遊中),也可以使用這個方法取更改資料(覆寫原來的資料)。
增加列:df['newcol']=[1,2,3,4],注意添加的資料要和行數相同。
資料的周遊:
周遊列:
for cName in df:
print('df中的列名:\n',cName)
print('df中的值:\n',df[cName])
結果:
周遊行(1):
for rIndex in df.index:
print('現在是第',rIndex,'行')
print(df.loc[rIndex])
周遊行(2):
for r in df.values:
print(r)
傳回結果為數組:
[18 'jack']
[19 'mick']
[20 'john']
周遊行(3):
for index,row in df.iterrows():
print('第',index,'行')
print(row)