訪問 Pandas DataFrame 中最後一個元素的索引 (Python)


要訪問 Pandas DataFrame 中最後一個元素的索引,我們可以使用 index 屬性或 tail() 方法。Pandas 是一個用於資料操作和分析的 Python 庫。DataFrame 是 Pandas 提供的一種資料結構,用於有效地處理大型資料集。本文將講解如何在 Pandas DataFrame 中訪問最後一個元素的索引。

什麼是 DataFrame?

DataFrame 是一種二維表格資料結構,具有行和列,就像矩陣、電子表格或 SQL 表一樣。任何型別的資料,如 CSV 檔案、字典或列表列表,都可以輕鬆轉換為 DataFrame。DataFrame 的列可以具有不同的資料型別,例如整數、浮點數或字串等。DataFrame 的每一行都有一個唯一的索引,預設情況下從 0 開始。我們還可以使用 set_index() 方法為 DataFrame 行指定自定義索引。

訪問 DataFrame 中的元素?

要訪問 Pandas DataFrame 中最後一個元素的索引,我們需要首先了解如何訪問 DataFrame 的元素。要訪問 DataFrame 的任何元素,我們使用 loc[] 和 iloc[] 方法。例如,讓我們考慮一個 DataFrame:

    Subject   Marks    Grade
0   Maths      70        B
1   Science    85        A
2   Computer   90        A
3   English    45        C

上面的 DataFrame 有三列,分別是科目、分數和等級,以及四行,索引為 0、1、2、3。loc[] 方法採用行標籤和列標籤來訪問 DataFrame 的任何元素。在上面的例子中,如果我們想訪問 DataFrame 的第三行和第一列的值,我們可以使用 loc[] 方法:

語法

loc[row_label,column_label]

loc[] 方法用於訪問 DataFrame 的元素。需要將引數 row_label 和 column_label 傳遞給 loc 方法才能訪問 DataFrame 的特定元素。

iloc[row_index,column_index]

iloc[] 方法用於訪問 DataFrame 的元素。需要將引數 row_index 和 column_index 傳遞給 iloc 方法才能訪問 DataFrame 的特定元素。

示例 1

Pandas 將使用 pd.DataFrame() 方法將字典轉換為 DataFrame。一旦 DataFrame 在 df 變數中可用,我們就可以訪問 DataFrame 的值,其 row_label 為 2,column_label 為 'Subject'。

# import pandas
import pandas as pd
  
# create dataframe
df = pd.DataFrame({'Subject': ['Maths', 'Science', 'Computer', 'English'],
   'Marks': ['70', '85', '90', '45'],
   'Grade': ['B', 'A','A', 'C']})
  
# Display original dataframe
print("Original dataframe")
print(df)
  

print(df.loc[2,'Subject'])

輸出

Original dataframe
    Subject  Marks  Grade
0   Maths     70     B
1   Science   85     A
2   Computer  90     A
3   English   45     C
Computer

示例 2

以類似的方式,iloc[] 方法將行索引和列索引作為引數來訪問 DataFrame 的任何元素。如果我們想訪問第四行和第二列的值,我們可以使用 iloc[] 方法:

# import pandas
import pandas as pd
  
# create dataframe
df = pd.DataFrame({'Subject': ['Maths', 'Science', 'Computer', 'English'],
   'Marks': ['70', '85', '90', '45'],
   'Grade': ['B', 'A', 'A', 'C']})
  
# Display original dataframe
print("Original dataframe")
print(df)
  

print(df.iloc[3,1])

輸出

Original dataframe
    Subject Marks Grade
0   Maths    70     B
1   Science    85     A
2  Computer    90     A
3   English    45     C
45

使用 Index 屬性

索引指定 DataFrame 的行索引。預設情況下,DataFrame 行的索引從 0 開始。要訪問最後一行索引,我們可以從 -1 開始。

語法

df.index[row_index]

index 屬性用於訪問 DataFrame 中行的索引。要訪問最後一行的索引,我們可以從負值(即 -1)開始。

例如,我們將建立如下 DataFrame:

   Subject   Marks   Grade
0   Maths     70       B
1  Science    85       A
2  Computer   90       A
3  English    45       C

示例

# import pandas
import pandas as pd
  
# create dataframe
df = pd.DataFrame({'Subject': ['Maths', 'Science', 'Computer', 'English'],
   'Marks': ['70', '85', '90', '45'],
   'Grade': ['B', 'A', 'A', 'C']})
  
# Display original dataframe
print("Original dataframe")
print(df)
  
# Display last index value of dataframe
# index[-1] is return the last row index of 
# all rows in DataFrame.
print("value of last row index")
print(df.index[-1])

輸出

Original dataframe
    Subject  Marks  Grade
0   Maths     70     B
1   Science   85     A
2   Computer  90     A
3   English   45     C
value of last row index
3

使用 tail() 方法

tail(n) 方法返回 Pandas DataFrame 最後 n 行的值。如果我們只想獲取最後一行的索引,我們可以將 index 屬性與 tail 方法一起使用以獲取最後一行的索引。傳遞給 tail 方法的引數 n 返回 Pandas DataFrame 的最後 n 行,要僅獲取最後一行,我們可以傳遞 n=1。

語法

df.tail(nth_row_index)

tail() 方法返回從末尾開始的第 n 行的值。從末尾開始的行索引作為引數傳遞給 tail 函式。最後一行的索引將從 1 開始。

df.tail(nth_row_index).index[column_index]

tail() 方法返回從末尾開始的第 n 個索引處的整行值。要訪問第 n 行中特定元素的索引,我們需要將 column_index 值傳遞給它。

示例

在這個例子中,我們將使用 pd.DataFrame() 方法將 Python 字典資料轉換為 DataFrame。我們將使用 index() 和 tail() 方法來獲取 DataFrame 中最後一個元素或行的索引值:

# import pandas
import pandas as pd
  
# create dataframe
df = pd.DataFrame({'Subject': ['Maths', 'Science', 'Computer', 'English'],
   'Marks': ['70', '85', '90', '45'],
   'Grade': ['B', 'A', 'A', 'C']})
  
# Display original dataframe
print("Original dataframe")
print(df)
  
# Display last index value of dataframe
# index[-1] is return the last row index of 
# all rows in DataFrame.
print("value of last row")
print(df.tail(1))
print("value of last row index")
print(df.tail(1).index[0])

輸出

Original dataframe
     Subject  Marks Grade
0    Maths     70     B
1    Science   85     A
2    Computer  90     A
3    English   45     C

value of last row
Subject Marks Grade
3  English    45     C
value of last row index
3

結論

在本文中,我們瞭解瞭如何在 Python Pandas DataFrame 中訪問任何元素,以及如何使用 index 屬性和 tail 方法訪問 Pandas DataFrame 中最後一個元素的索引。index 屬性在傳遞負索引 -1 時返回最後一行的索引。tail 屬性在傳遞從 1 開始的(對於最後一行)行索引時返回從末尾開始的第 n 行的行值。要訪問特定元素的索引,我們可以一起使用 tail 和 index 屬性。

更新於:2023年4月13日

10K+ 次瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始學習
廣告