首頁 > 軟體

python pandas中索引函數loc和iloc的區別分析

2021-09-27 13:03:00

前言

使用pandas進行資料分析的時候,我們經常需要對DataFrame的行或者列進行索引。使用pandas進行索引的方法主要有三種:直接使用行或者列標籤、loc函數和iloc函數。

 舉個簡單的例子:

import numpy as np
import pandas as pd
df = pd.DataFrame({"Fruits":["apple","pear","banana","watermelon"],"Price":[1.2,1.4,2.3,4.2],"Sales":[11,45,25,16]})
df

生成的DataFrame如下所示:

Fruits Price Sales
0 apple 1.2 11
1 pear 1.4 45
2 banana 2.3 25
3 watermelon 4.2 16

1、直接使用行或者列標籤

假如我們要選取df的Fruits和Price兩列,則

df[['Fruits','Price']]
Fruits Price
0 apple 1.2
1 pear 1.4
2 banana 2.3
3 watermelon 4.2

假如我們要選取df的第2、3行,則

df[2:4]
Fruits Price Sales
2 banana 2.3 25
3 watermelon 4.2 16

2、loc函數

loc函數是基於行標籤和列標籤進行索引的,其基本用法為:

DataFrame.loc[行標籤,列標籤]

假如我們要選取df的第2、3行和Price、Sales對應的列,則

df[2:3,'Price':'Sales']
Price Sales
2 2.3 25
3 4.2 16

假如我們要選取所有的行和Fruits、Sales對應的列,則

df.loc[:,['Fruits','Sales']]
Fruits Sales
0 apple 11
1 pear 45
2 banana 25
3 watermelon 16

3、iloc函數

iloc函數是基於行和列的位置進行索引的,索引值從0開始,並且得到的結果不包括最後一個位置的值,其基本用法為:

DataFrame.iloc[行位置,列位置]

假如我們要選取df的第2、3行和第1、2列,則

df.iloc[2:4,1:3]
Price Sales
2 2.3 25
3 4.2 16

假如我們要選取所有的行和第0、2列,則

df.iloc[:,[0,2]]
Fruits Sales
0 apple 11
1 pear 45
2 banana 25
3 watermelon 16

總結

到此這篇關於python pandas中索引函數loc和iloc區別的文章就介紹到這了,更多相關pandas索引函數loc和iloc內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com