Pandas資料的選取

2021-07-09 12:39:48 字數 1641 閱讀 2969

使用python的工具包pandas,可以方便的處理資料。但是發現乙個問題:有時候總是不知道怎麼選取資料。因此在這裡記錄一下。由於在實際使用中,主要用到的就是dataframe的結構,因此,這裡主要說dataframe資料結構中,資料的選取方法。

假設我們已經有了dataframe資料,呈現如下結構:

index

popstate

year

01.5

ohio

2000

11.7

ohio

2001

23.6

ohio

2002

32.4

nevada

2001

data = 

frame = pd.dataframe(data, index=['2','3','4','5'])

print frame

一)行的選擇

首先我們說針對行的選取,分為:單行選取,切片選取,選擇選取,這些選取都可以分為使用索引index來選取,以及通過第n行的行值來選取。而這些選取都可以使用ix這個功能來實現。

1、選其中一行:

1)使用index: frame.ix[『3』]

2) 使用行值:frame.ix[1]

2、切片選取:

1)使用index:frame.ix[『3』:』5』]

2)使用行值:frame.ix[0:2]

3、選擇選取:

1)使用index:frame.ix[[『3』,』5』]]

2)使用行值:frame.ix[[0,2]]

二)列的選擇

列的選取也可以對應行的選取的方式,分為:單行選取,切片選取,選擇選取。列的選擇直接使用frame這個dataframe來選擇就好,但是有些方式是不支援的。

1、選擇其中一列

1)使用index:frame[『pop』]

2)使用列值:frame[[1]]

2、切片選取

1)使用index:對於dataframe來說,對應行的index選取方式,應該是frame[『pop』:』year』]。但是實際上這個是不支援的,不知道為什麼。後面講另外的列切片選取方法。

2)使用列值:對應行的值選取方法,應該是frame[0:2],但實際上,這個選擇的仍然是行~。這個點需要注意。

3、選擇選取

1)使用index:frame[[『pop』,』year』]]

2)使用列值:frame[[0,2]]

三)行列的綜合選擇

行列的綜合選擇需要使用ix的方法,即frame.ix[:, :]

即逗號前後的行、列都可以使用

一、二本來自己就支援的方法,來選擇所需要的值。

除了原先的功能之外,使用該方法,列可以使用切片的方式來選擇資料:

1)使用index來選擇列:

frame.ix[:, 『pop』:』year』]

2)使用列值來選擇:

frame.ix[:,0:2]

另外還需要注意的是:

使用index切片來選取時,是頭尾都包含的,即使用index:frame.ix[『3』:』5』]中』3』到』5』的行都會包含;但是使用行值,frame.ix[0:2],則只會包含0,1兩行。

列是同樣的道理。

pandas (五)資料選取

迭代器及使用 for idx,row in df.iterrows row id 迭代器對每個元素進行處理 df.loc i,鏈結 f for i in df.name print i 迭代乙個列 按列迭代,列名,列中的資料序列 s 索引名 值 for label,content in df.ite...

pandas 資料索引與選取

我們對 dataframe 進行選擇,大抵從這三個層次考慮 行列 區域 單元格。其對應使用的方法如下 一.行,列 df 二.區域 df.loc,df.iloc,df.ix 三.單元格 df.at,df.iat 下面開始練習 import numpy as np import pandas as pd...

pandas實現選取特定索引的行

如下所示 import numpy as np import pandas as pd g 程式設計客棧 index np.array 2,4,6,8,10 data np.array 3,5,7,9,11 data pd.dataframe index index g程式設計客棧t print d...