关键词

使用Python Pandas .iloc[] 提取行数

当我们针对一个DataFrame数据表需要提取行数时,就需要使用Pandas中的.iloc[]方法。.iloc[]方法的用法如下:

dataframe.iloc[row_index, column_index]

其中,row_index表示要提取的行数的序号,column_index则表示要提取的列数的序号。Pandas可以支持多种方式来表示row_indexcolumn_index。例如,我们可以使用一个整数来表示单个行或列,也可以使用一个整数范围(切片)来表示连续的行或列。

下面我们来看两个具体的例子。

例一:

我们有如下一个DataFrame数据表:

import pandas as pd

data = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],
                     'age': [18, 23, 26, 31, 22],
                     'score': [80, 85, 77, 92, 88]})

print(data)

输出:

       name  age  score
0     Alice   18     80
1       Bob   23     85
2   Charlie   26     77
3     David   31     92
4      Ella   22     88

我们想提取第2行的数据,可以使用.iloc[]方法:

row_index = 1  # 第2行的序号为1
print(data.iloc[row_index])

输出:

name     Bob
age       23
score     85
Name: 1, dtype: object

例二:

我们有如下一个DataFrame数据表:

import pandas as pd

data = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],
                     'age': [18, 23, 26, 31, 22],
                     'score': [80, 85, 77, 92, 88]})

print(data)

输出:

       name  age  score
0     Alice   18     80
1       Bob   23     85
2   Charlie   26     77
3     David   31     92
4      Ella   22     88

我们想提取第2到第4行的数据:

start_index = 1  # 起始行的序号为1
end_index = 3    # 结束行的序号为3
print(data.iloc[start_index:end_index+1])

输出:

      name  age  score
1      Bob   23     85
2  Charlie   26     77
3    David   31     92

其中,因为Python的切片并不包括结束位置,所以在此需要将结束位置的序号3加1,才能正确的提取第2到第4行的数据。

综上所述,我们可以看出,在使用.iloc[]方法时,我们需要注意如下几个要点:

  • row_indexcolumn_index可以使用整数、整数范围(切片)等方式来表示;
  • 若只需要提取单行或单列,那么可以省略column_index的设置;
  • 若需要提取多行或多列,那么可以使用整数范围(切片)来表示,通常会使用Python的切片表示方式,并需设置row_indexcolumn_index的起始与结束位置。

本文链接:http://task.lmcjl.com/news/14511.html

展开阅读全文