访问 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+ 次浏览

启动你的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.