當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.iloc用法及代碼示例


用法:

property DataFrame.iloc

純粹基於 integer-location 的索引,用於按位置進行選擇。

.iloc[] 主要基於整數位置(從軸的0length-1),但也可以與布爾數組一起使用。

允許的輸入是:

  • 一個整數,例如5

  • 整數列表或數組,例如[4, 3, 0]

  • 帶有整數的切片對象,例如1:7

  • 一個布爾數組。

  • 一個 callable 函數,帶有一個參數(調用 Series 或 DataFrame)並返回有效的索引輸出(上述之一)。這在方法鏈中很有用,當您沒有對調用對象的引用,但希望您的選擇基於某個值時。

如果請求的索引器越界,.iloc 將引發 IndexError,但允許越界索引的切片索引器除外(這符合 python/numpy 切片語義)。

在按位置選擇中查看更多信息。

例子

>>> 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

帶有可調用的,在方法鏈中很有用。傳遞給lambdax 是被切片的DataFrame。這將選擇索引標簽為偶數的行。

>>> 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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.iloc。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。