07 Июл 2023
2 мин
869

Извлечение значения из ячейки DataFrame в Pandas

Обычно при работе с библиотекой Pandas в Python возникает необходимость извлечения конкретного значения из ячейки в DataFrame. Допустим, есть условие, которое

Содержание

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

df_filtered = df[(df['column1']==value1) & (df['column2']==value2) & (df['column3']==value3)]
value = df_filtered['target_column']

В результате выполнения этого кода в переменной value будет храниться DataFrame, который содержит одну строку и один столбец, то есть одну ячейку. Однако, если требуется получить непосредственно значение этой ячейки, а не DataFrame, можно воспользоваться одним из следующих способов.

Использование метода iloc

Можно использовать метод iloc, который позволяет получить доступ к элементу DataFrame по его числовому индексу:

value = df_filtered['target_column'].iloc[0]

В этом случае в переменной value будет храниться значение первой (и единственной) строки извлеченного DataFrame.

Использование метода values

Еще один способ — использовать метод values, который возвращает массив numpy со значениями DataFrame:

value = df_filtered['target_column'].values[0]

В этом случае в переменной value также будет храниться значение первой строки извлеченного DataFrame, но в виде массива numpy.

Использование функции squeeze

Функция squeeze удаляет оси DataFrame с одним элементом:

value = df_filtered['target_column'].squeeze()

В этом случае в переменной value будет храниться значение первой строки извлеченного DataFrame, и не требуется указывать индекс [0], так как функция squeeze автоматически преобразует DataFrame с одним элементом в скалярное значение.

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