Pandas в Python — это библиотека, которая работает с наборами данных или фреймами данных. Одной из повседневных задач, которые мы обычно выполняем в кадрах данных, является доступ к значениям индекса. Индекс в кадре данных Pandas позволяет идентифицировать каждую строку.
В этой статье я расскажу вам о различных методах получения значений индекса из фреймов данных в Pandas.
- Используя свойство df.index
- С использованием цикла for
- Используя index.values
- С помощью метода get_level_values()
- С помощью функции get_loc()
- С помощью функции np.where()
Используя свойство df.index
Мы можем использовать свойство df.index, чтобы получить индекс из кадра данных Pandas.
По умолчанию свойство df.index в Python Pandas возвращает тип индекса в диапазоне.
Давайте посмотрим пример получения значений индекса в кадрах данных Pandas с использованием свойства .index:
import pandas as pd
Product_sales = {'State': ['New York', 'California', 'Texas', 'Florida'],
'Sales': [50000, 75000, 60000, 45000]}
sales_df = pd.DataFrame(Product_sales)
states_index = sales_df.index
print(states_index)
Выход:
RangeIndex(start=0, stop=4, step=1)
Ниже приведен снимок экрана, на котором показаны выходные данные после реализации кода в редакторе Pycharm.

С использованием цикла for
Поскольку мы получаем RangeIndex() из свойства df.index в Python, чтобы получить значения индекса из кадра данных в Pandas.
Мы можем использовать цикл for для перебора индексов данного DataFrame в Python.
Вот пример кадра данных Python для получения значения индекса с помощью цикла for:
import pandas as pd
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'],
'Population': [8500000, 4000000, 2700000, 2300000]}
df_population = pd.DataFrame(data)
df_population = df_population.set_index('City')
for city_index in df_population.index:
print(city_index)
Вывод: здесь у нас есть метод set_index() для установки «города» в качестве индекса кадра данных df_population в Python.
df_population.set_index('City')
Ниже приведен вывод кода, когда мы запускаем цикл for:
New York Los Angeles Chicago Houston
После запуска кода в Pycharm результат отображается на снимке экрана ниже.

Используя index.values
Атрибут index.values Pandas вернет массив данных в данном индексном объекте.
Вот как мы можем использовать атрибут index.values в Python для получения значений индекса из фреймов данных в Pandas Python:
import pandas as pd
Covid_cases = {'Cases': [10000, 15000, 8000, 12000]}
covid_cases_df = pd.DataFrame(Covid_cases, index=['New York', 'California', 'Texas', 'Florida'])
state_names = covid_cases_df.index.values
print(state_names)
Вывод: мы установили индекс данного фрейма данных, используя параметр index в функции pd.DataFrame().
pd.DataFrame(Covid_cases, index=['New York', 'California', 'Texas', 'Florida'])
Вот полный вывод, который мы получим после выполнения кода в редакторе Pycharm.
['New York' 'California' 'Texas' 'Florida']

С помощью метода get_level_values()
Мы можем использовать метод index.get_level_values() для получения значений индекса в кадрах данных Pandas, поскольку он возвращает индекс значений для запрошенного уровня в Python.
Например:
import pandas as pd
Employee = {'Names': ['Amy', 'Joey', 'Lucifer', 'Claus'], 'Salary': [10000, 15000, 8000, 12000]}
Employee_salary_df = pd.DataFrame(Employee, index=['New York', 'California', 'Texas', 'Florida'])
state_names = Employee_salary_df.index.get_level_values(0)
print(state_names)
Выход:
Index(['New York', 'California', 'Texas', 'Florida'], dtype='object')
Ниже приведен снимок экрана, на котором запечатлен результат реализации кода редактора Pycharm.

С помощью функции get_loc()
Мы также можем получить значения индекса DataFrame в столбце Python Pandas, используя функцию get_loc(). Мы должны передать метку столбца, чтобы получить его индекс, в функцию get_loc(). Он вернет местоположение индекса в Python.
Вот пример получения значений индекса Pandas с помощью функции get_loc():
import pandas as pd
Sales_stats = {'Rate(%)': [85, 80, 90, 75]}
df_sales_stats = pd.DataFrame(Sales_stats, index=['New York', 'California', 'Texas', 'Florida'])
index_location = df_sales_stats.index.get_loc('Texas')
print(index_location)
Выход:
2
На следующем снимке экрана показан результат после выполнения кода в редакторе Pycharm.

С помощью функции np.where()
Мы также можем получить индекс, указав условие, переданное в функцию np.where() из библиотеки NumPy в Python.
Функция np.where() возвращает индексы элементов входного массива, в которых выполняется заданное условие.
Вот код использования функции np.where() Pandas для получения индекса по значению в Python:
import pandas as pd
import numpy as np
data = {'State': ['New York', 'California', 'Texas', 'Florida'],
'Population': [20000000, 15000000, 25000000, 18000000]}
population_data = pd.DataFrame(data)
indices_greater_than_threshold = np.where(population_data['Population'] > 15000000)[0]
print(indices_greater_than_threshold)
Вывод: вот массив всех индексов, удовлетворяющих условию. т. е. «population_data[‘Population’] > 15000000».
[0 2 3]
На снимке экрана ниже показан вывод после выполнения кода редактора Pycharm.
