pandas 可以說是 python 中最常用的數據處理庫之一,而其中的 .iloc 就是其中一個比較重要的方法。在本文中,我們將會從各個角度詳細講解 .iloc 的作用、用法和注意事項。
一、選擇單個元素
我們可以使用 .iloc 選擇一個具體的元素,只需要傳入 DataFrame 或 Series 中相應的行和列的位置即可。比如選取 DataFrame 中第二行第三列的元素:
import pandas as pd
data = {'name': ['John', 'Jane', 'Joe', 'Mike'],
'age': [23, 19, 29, 31],
'country': ['US', 'CA', 'UK', 'AU']}
df = pd.DataFrame(data)
print(df.iloc[1, 2])
# 輸出: CA
這裡我們使用 .iloc[1,2] 來選取位置在第二行第三列的元素,注意索引是從 0 開始的。
二、選擇連續的行和列
我們也可以使用切片的方式來選擇連續多行/列的元素,只需要使用 : 來表示一個區間即可。比如選取 DataFrame 中第二行到第四行和第二列到第三列的元素:
print(df.iloc[1:4, 1:3])
# 輸出:
# age country
# 1 19 CA
# 2 29 UK
# 3 31 AU
這裡 .iloc[1:4, 1:3] 表示選擇位置在第二行到第四行和第二列到第三列的元素。
三、選擇不連續的行和列
我們也可以使用列表的方式來選擇不連續的行和列的元素。比如選取 DataFrame 中第一行和第三行的第一列和第三列的元素:
print(df.iloc[[0,2], [0,2]])
# 輸出:
# name country
# 0 John US
# 2 Joe UK
這裡 .iloc[[0,2],[0,2]] 表示選擇位置在第一行和第三行的第一列和第三列的元素。
四、使用布爾數組進行選擇
我們也可以使用布爾類型的列表或數組來進行選擇。比如從 DataFrame 中選擇年紀大於 25 的元素:
print(df.iloc[df['age'] > 25])
# 輸出:
# name age country
# 2 Joe 29 UK
# 3 Mike 31 AU
這裡我們使用了布爾類型的數組 df[‘age’] > 25 來進行索引。
五、選擇所有行或列
如果想要選擇所有行或列,可以使用 : 來進行表示。比如選擇所有行和第二列的元素:
print(df.iloc[:, 1])
# 輸出:
# 0 23
# 1 19
# 2 29
# 3 31
# Name: age, dtype: int64
這裡 .iloc[:,1] 表示選擇所有行和第二列的元素。
六、使用負數進行選擇
使用負數進行選擇時,pandas 會從後向前計數。比如下面的例子中選取最後一行的第二個元素:
print(df.iloc[-1, -2])
# 輸出: AU
這裡使用了負數索引,-1 代表最後一行,-2 代表倒數第二列。
總結
本文詳細闡述了 .iloc 方法的用法和注意事項。通過不同的用法,我們可以方便地從 DataFrame 或 Series 中選取所需的元素。這些技巧對於數據分析和處理都是非常有用的。
原創文章,作者:RRPCA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/361990.html