pandas.Series.iloc#

property Series.iloc#

纯粹基于整数位置的索引,用于按位置选择。

.iloc[] 主要基于整数位置(从 0length-1 轴),但也可以与布尔数组一起使用。

允许的输入包括:

  • 一个整数,例如 5

  • 整数的列表或数组,例如 [4, 3, 0]

  • 带有整型的切片对象,例如 1:7

  • 布尔数组。

  • A callable 函数只有一个参数(调用Series或DataFrame),并返回用于索引的有效输出(上面的一个)。当您没有对调用对象的引用,但希望基于某个值进行选择时,这在方法链中很有用。

.iloc 将筹集 IndexError 如果请求的索引器超出范围,则 切片 允许越界索引的索引器(这符合Python/NumPy 切片 语义学)。

见更多 Selection by Position

参见

DataFrame.iat

快速整数位置标量访问器。

DataFrame.loc

纯粹基于标签位置的索引器,用于按标签选择。

Series.iloc

纯粹基于整数位置的索引,用于按位置选择。

示例

>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
...           {'a': 100, 'b': 200, 'c': 300, 'd': 400},
...           {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
>>> df = pd.DataFrame(mydict)
>>> df
      a     b     c     d
0     1     2     3     4
1   100   200   300   400
2  1000  2000  3000  4000

仅对行进行索引

带有标量整数的。

>>> type(df.iloc[0])
<class 'pandas.core.series.Series'>
>>> df.iloc[0]
a    1
b    2
c    3
d    4
Name: 0, dtype: int64

包含一个整数列表。

>>> df.iloc[[0]]
   a  b  c  d
0  1  2  3  4
>>> type(df.iloc[[0]])
<class 'pandas.core.frame.DataFrame'>
>>> df.iloc[[0, 1]]
     a    b    c    d
0    1    2    3    4
1  100  200  300  400

使用一个 slice 对象。

>>> df.iloc[:3]
      a     b     c     d
0     1     2     3     4
1   100   200   300   400
2  1000  2000  3000  4000

具有与索引相同长度的布尔掩码。

>>> df.iloc[[True, False, True]]
      a     b     c     d
0     1     2     3     4
2  1000  2000  3000  4000

具有可调用的、在方法链中有用的。这个 x 传递给 lambda 是对DataFrame进行切片。这将选择索引标签为EVEN的行。

>>> df.iloc[lambda x: x.index % 2 == 0]
      a     b     c     d
0     1     2     3     4
2  1000  2000  3000  4000

分度两个轴

您可以混合索引和列的索引器类型。使用 : 要选择整个轴,请执行以下操作。

带有标量整数的。

>>> df.iloc[0, 1]
2

包含整数列表。

>>> df.iloc[[0, 2], [1, 3]]
      b     d
0     2     4
2  2000  4000

使用 slice 对象。

>>> df.iloc[1:3, 0:3]
      a     b     c
1   100   200   300
2  1000  2000  3000

具有长度与列匹配的布尔数组。

>>> df.iloc[:, [True, False, True, False]]
      a     c
0     1     3
1   100   300
2  1000  3000

使用预期为Series或DataFrame的可调用函数。

>>> df.iloc[:, lambda df: [0, 2]]
      a     c
0     1     3
1   100   300
2  1000  3000