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


Python pandas.Index.isin用法及代碼示例


用法:

Index.isin(values, level=None)

返回一個布爾數組,其中索引值位於 values 中。

計算是否在傳遞的值集中找到每個索引值的布爾數組。返回的布爾數組的長度與索引的長度相匹配。

參數

values設置或list-like

尋求的價值。

levelstr 或 int,可選

要使用的索引級別的名稱或位置(如果索引是 MultiIndex )。

返回

np.ndarray[bool]

NumPy 布爾值數組。

注意

MultiIndex 的情況下,您必須將 values 指定為包含與級別數相同長度的元組的 list-like 對象,或者指定 level 。否則它將引發 ValueError

如果指定了level

  • 如果它是一個且隻有一個索引級別的名稱,則使用該級別;

  • 否則應該是一個表示水平位置的數字。

例子

>>> idx = pd.Index([1,2,3])
>>> idx
Int64Index([1, 2, 3], dtype='int64')

檢查每個索引值是否在值列表中。

>>> idx.isin([1, 4])
array([ True, False, False])
>>> midx = pd.MultiIndex.from_arrays([[1,2,3],
...                                  ['red', 'blue', 'green']],
...                                  names=('number', 'color'))
>>> midx
MultiIndex([(1,   'red'),
            (2,  'blue'),
            (3, 'green')],
           names=['number', 'color'])

檢查 MultiIndex 的‘color’ 級別中的字符串是否在顏色列表中。

>>> midx.isin(['red', 'orange', 'yellow'], level='color')
array([ True, False, False])

要檢查 MultiIndex 的級別,請傳遞一個元組列表:

>>> midx.isin([(1, 'red'), (3, 'red')])
array([ True, False, False])

對於 DatetimeIndex,values 中的字符串值將轉換為時間戳。

>>> dates = ['2000-03-11', '2000-03-12', '2000-03-13']
>>> dti = pd.to_datetime(dates)
>>> dti
DatetimeIndex(['2000-03-11', '2000-03-12', '2000-03-13'],
dtype='datetime64[ns]', freq=None)
>>> dti.isin(['2000-03-11'])
array([ True, False, False])

相關用法


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