1. 程式人生 > >用pandas中的DataFrame時選取行或列

用pandas中的DataFrame時選取行或列

 用pandas中的DataFrame時選取行或列

import numpy as np
import pandas as pd
from pandas import Sereis, DataFrame

ser = Series(np.arange(3.))

data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))

data['w']  #選擇表格中的'w'列,使用類字典屬性,返回的是Series型別

data.w    #選擇表格中的'w'列,使用點屬性,返回的是Series型別

data[['w']]  #選擇表格中的'w'列,返回的是DataFrame屬性

data[['w','z']]  #選擇表格中的'w'、'z'列

data[0:2]  #返回第1行到第2行的所有行,前閉後開,包括前不包括後

data[1:2]  #返回第2行,從0計,返回的是單行,通過有前後值的索引形式,
       #如果採用data[1]則報錯

data.ix[1:2] #返回第2行的第三種方法,返回的是DataFrame,跟data[1:2]同

data['a':'b']  #利用index值進行切片,返回的是**前閉後閉**的DataFrame, 
        #即末端是包含的  
data.irow(0)   #取data的第一行
data.icol(0)   #取data的第一列

data.head()  #返回data的前幾行資料,預設為前五行,需要前十行則dta.head(10)
data.tail()  #返回data的後幾行資料,預設為後五行,需要後十行則data.tail(10)

ser.iget_value(0)  #選取ser序列中的第一個
ser.iget_value(-1) #選取ser序列中的最後一個,這種軸索引包含索引器的series不能採用ser[-1]去獲取最後一個,這回引起歧義。

data.iloc[-1]   #選取DataFrame最後一行,返回的是Series
data.iloc[-1:]   #選取DataFrame最後一行,返回的是DataFrame

data.loc['a',['w','x']]   #返回‘a’行'w'、'x'列,這種用於選取行索引列索引已知

data.iat[1,1]   #選取第二行第二列,用於已知行、列位置的選取。