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.