天天看點

python中dataframe定義_pandas 中DataFrame的資料定義,通路,修改,删除,增加,周遊...

本文測試使用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)