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


Python Pandas Index.get_loc()用法及代碼示例

Python 是一種用於進行數據分析的出色語言,主要是因為以數據為中心的 Python 包的奇妙生態係統。 Pandas 就是其中之一,它使導入和分析數據變得更加容易。

Pandas Index.get_loc()函數返回請求標簽的整數位置、切片或布爾掩碼。該函數適用於已排序和未排序的索引。如果傳遞的值不存在於索引中,它會提供各種選項。僅當索引標簽已排序時,您才可以選擇將前一個值或下一個值返回給傳遞的值。

用法: Index.get_loc(key, method=None, tolerance=None)

參數:
key:標簽
method:{無,‘pad’/'ffill',‘backfill’/'bfill',‘nearest’},可選
->default:僅完全匹配。
->pad / ffill:如果沒有完全匹配,則查找 PREVIOUS 索引值。
->backfill / bfill:如果沒有完全匹配,則使用 NEXT 索引值
->nearest:如果沒有完全匹配,則使用 NEAREST 索引值。通過首選較大的索引值來打破束縛距離。

返回:loc:int 如果唯一索引,切片如果單調索引,否則掩碼

範例1:使用Index.get_loc()函數來查找傳遞值的位置。


# importing pandas as pd
import pandas as pd
  
# Creating the Index
idx = pd.Index(['Labrador', 'Beagle', 'Labrador',
                     'Lhasa', 'Husky', 'Beagle'])
  
# Print the Index
idx

輸出:

讓我們在索引中找出“拉薩”的位置。


# Print the location of the passed value..
idx.get_loc('Lhasa)

輸出:

正如我們在輸出中看到的,Index.get_loc()函數返回 3 表示傳遞的值存在於索引中的此位置。

範例2:使用Index.get_loc()函數來查找傳遞值的位置。如果傳遞的值不存在於索引中,則返回前一個值的位置,該位置剛好小於傳遞的值。


# importing pandas as pd
import pandas as pd
  
# Creating the Index
idx = pd.Index([1, 2, 3, 14, 25, 37, 48, 69, 100])
  
# Print the Index
idx

輸出:

讓我們在索引中找到值 33 的位置。


# Find the position of 33 in the index.
# If it is not present then we forward 
# fill and return the position of previous value.
idx.get_loc(33, method ='ffill')

輸出:

正如我們所看到的,函數返回了輸出 3。由於 33 不存在於索引中,但在排序順序中,小於 33 的值是 25,它的位置是 4。所以,輸出是 4。我們這樣做如果未設置方法參數,則如果該值不存在,則會導致錯誤。


相關用法


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