• Автор записи:
  • Рубрика записи:Pandas
  • Время чтения:3 минут чтения
  • Комментарии к записи:0 комментариев

Pandas в Python — это библиотека, которая работает с наборами данных или фреймами данных. Одной из повседневных задач, которые мы обычно выполняем в кадрах данных, является доступ к значениям индекса. Индекс в кадре данных Pandas позволяет идентифицировать каждую строку.

В этой статье я расскажу вам о различных методах получения значений индекса из фреймов данных в Pandas.

Содержание

Используя свойство 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.

Используя свойство df.index

С использованием цикла 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 результат отображается на снимке экрана ниже.

С использованием цикла for

Используя 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']

Используя index.values

С помощью метода 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_level_values()

С помощью функции 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.

С помощью функции get_loc()

С помощью функции 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.

С помощью функции np.where()

Добавить комментарий