(Python) Pandas的loc與iloc用法

在 Python 中,Pandas 是一個廣泛用於資料操作和分析的套件。

其中,loc 和 iloc 是兩個關鍵的索引方法,用於選擇 Pandas DataFrame 或 Series 中的特定資料。

本文將介紹這兩種方法的基本使用和區別。

loc方法

loc方法根據行和列的標籤選擇資料。其基本語法如下:

1
dataframe.loc[row_label, column_label]

其中,row_label 是行的標籤,可以是單個標籤、標籤列表或標籤切片;column_label 是列的標籤,也可以是單個標籤、標籤列表或標籤切片。

loc範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 建立一個 DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 使用 loc 選擇單個標籤的行和列
print(df.loc[2, 'B']) # 輸出: 8

# 使用 loc 選擇標籤列表的行和列
print(df.loc[[1, 3], ['A', 'B']]) # 輸出:
# A B
# 1 2 7
# 3 4 9

# 使用 loc 選擇標籤切片的行和列
print(df.loc[1:3, 'A':'B']) # 輸出:
# A B
# 1 2 7
# 2 3 8
# 3 4 9

iloc方法

iloc方法根據行和列的索引選擇資料。其基本語法如下:

1
dateframe.iloc[row_index, column_index]

其中,row_index 是行的索引,可以是單個索引、索引列表或索引切片;column_index 是列的索引,也可以是單個索引、索引列表或索引切片。

iloc範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import pandas as pd

# 創建一個 DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# 使用 iloc 選擇單個索引的行和列
print(df.iloc[2, 1]) # 輸出: 8

# 使用 iloc 選擇索引列表的行和列
print(df.iloc[[1, 3], [0, 1]]) # 輸出:
# A B
# 1 2 7
# 3 4 9

# 使用 iloc 選擇索引切片的行和列
print(df.iloc[1:3, 0:2]) # 輸出:
# A B
# 1 2 7
# 2 3 8

loc和iloc的區別

  • loc使用行和列的標籤進行選擇,而iloc使用行和列的索引進行選擇。
  • loc的標籤是包含的,而iloc的索引是不包含的。