Чтобы найти индекс значения в pandas в Python, можно использовать несколько методов. Свойство .index извлекает индекс, в котором выполняется условие, а index.values возвращает эти индексы в виде массива NumPy.
Функция tolist() преобразует индексы в список Python для упрощения итерации, а функция np.where() эффективно находит индексы для условий соответствия, что особенно полезно для больших наборов данных.
Существует четыре различных метода.
- Используя свойство .index
- Используя index.values
- С помощью функции tolist()
- С помощью функции np.where()
- Заключение
Используя свойство .index
Свойство .index в pandas используется для получения индексов строк в DataFrame или Series, соответствующих заданному условию.
Это простой метод Python, с помощью которого мы можем применить условие к DataFrame или Series и использовать .index для получения индексов, в которых это условие истинно.
Таким образом, мы можем использовать свойство .index, чтобы Pandas находил индекс значения в Python:
import pandas as pd df = pd.DataFrame({'State': ['New York', 'California', 'Texas'], 'Population': [19450000, 39560000, 29000000]}) index_of_california = df[df['State'] == 'California'].index print(index_of_california)
Выход:
Index([1], dtype='int64')
После выполнения кода в редакторе Pycharm ниже представлен снимок экрана, иллюстрирующий результат.
Используя index.values
index.values преобразует индексы, полученные из условия, в массив NumPy в Python. Это особенно полезно, когда нам нужны индексы в формате, совместимом с операциями NumPy, или для дальнейших манипуляций с массивами.
Вот код, который мы можем использовать index.values, чтобы Pandas находил индекс значения в Python:
import pandas as pd df = pd.DataFrame({'City': ['Los Angeles', 'Chicago', 'Houston'], 'Average Temperature(F)': [66, 50, 70]}) index_of_chicago = df[df['City'] == 'Chicago'].index.values print(index_of_chicago)
Выход:
[1]
После завершения выполнения кода в Pycharm полученный результат виден на снимке экрана, представленном ниже.
С помощью функции tolist()
Функция tolist() используется для преобразования индексов, полученных в результате условной проверки в pandas, в стандартный список Python.
Этот метод удобен, когда нам нужны индексы в формате списка, возможно, для перебора по ним или для других операций на основе списка.
Это код, который рассказывает, как использовать функцию tolist() для поиска индекса значения Pandas в Python:
import pandas as pd df = pd.DataFrame({'University': ['Harvard University', 'Stanford University', 'MIT'], 'Founded': [1636, 1885, 1861]}) index_of_harvard = df[df['University'] == 'Harvard University'].index.tolist() print(index_of_harvard)
Выход:
[0]
На снимке экрана ниже показан результат, полученный после реализации и запуска кода в редакторе Pycharm.
С помощью функции np.where()
Функция np.where() — это универсальный инструмент для поиска индексов элементов, соответствующих определенному условию, в DataFrame или Series панд в Python. Он возвращает индексы в виде массива NumPy и особенно эффективен для больших наборов данных, предлагая более производительную альтернативу собственным методам pandas.
Вот код для использования функции np.where(), Pandas находит индекс значения в Python:
import pandas as pd import numpy as np df = pd.DataFrame({'Airline': ['American Airlines', 'Delta Air Lines', 'United Airlines'], 'Destinations': [350, 325, 342]}) index_of_delta = np.where(df['Airline'] == 'Delta Air Lines')[0] print(index_of_delta)
Выход:
[1]
На следующем снимке экрана показан результат работы кода, реализованного в редакторе Pycharm.
Заключение
Здесь я проиллюстрировал различные методы поиска индекса значения в pandas в Python. К ним относятся использование свойства .index для прямого получения индекса, index.values для получения массива индексов NumPy, функции tolist() для преобразования индексов в список и функции np.where() для идентификации индексов в сложных или больших наборы данных.