Освоение манипулирования данными в Pandas: удобные методы поиска и установки значений в DataFrame

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

Метод 1: использование loc и iloc
Pandas предоставляет два основных метода, loc и iloc, для поиска и установки значений на основе меток и позиций на основе целых чисел соответственно. Метод loc используется для доступа к строкам и столбцам по меткам, а метод iloc — по положению. Давайте посмотрим, как они работают:

import pandas as pd
# Create a sample DataFrame
data = {'Name': ['John', 'Emma', 'Michael'],
        'Age': [25, 30, 35],
        'Country': ['USA', 'Canada', 'UK']}
df = pd.DataFrame(data)
# Using loc to set values
df.loc[0, 'Age'] = 26
df.loc[1, 'Country'] = 'Australia'
# Using iloc to set values
df.iloc[2, 1] = 36
df.iloc[0, 2] = 'Germany'
print(df)

Выход:

      Name  Age   Country
0     John   26   Germany
1     Emma   30    Canada
2  Michael   36        UK

Метод 2: использование логической индексации
Булева индексация позволяет нам устанавливать значения на основе определенных условий. Мы можем создать логическую маску, используя логические операторы, и назначить новые значения отфильтрованному подмножеству DataFrame. Давайте посмотрим:

# Setting values using boolean indexing
df.loc[df['Age'] > 30, 'Age'] = 40
df.loc[df['Country'] == 'UK', 'Country'] = 'United Kingdom'
print(df)

Выход:

      Name  Age          Country
0     John   26          Germany
1     Emma   30           Canada
2  Michael   40  United Kingdom

Метод 3: использование методов at и iat
Если вы хотите установить отдельные значения в определенных позициях, методы at и iat предоставляют более быструю альтернативу loc и iloc. Они предлагают скалярный доступ к ячейке DataFrame. Вот как их можно использовать:

# Using at and iat methods
df.at[0, 'Name'] = 'Robert'
df.iat[2, 0] = 'William'
print(df)

Выход:

      Name  Age          Country
0   Robert   26          Germany
1     Emma   30           Canada
2  William   40  United Kingdom

Метод 4. Использование метода replace
Метод replace позволяет заменять определенные значения во всем DataFrame или в определенных столбцах. Он обеспечивает гибкий способ поиска и установки значений. Давайте посмотрим на это в действии:

# Using the replace method
df.replace({'Germany': 'Deutschland', 'Canada': 'CAN'}, inplace=True)
print(df)

Выход:

      Name  Age          Country
0   Robert   26      Deutschland
1     Emma   30              CAN
2  William   40  United Kingdom

В этой статье мы рассмотрели несколько методов поиска и установки значений в DataFrame Pandas. Мы рассмотрели использование loc и iloc для доступа на основе меток и позиций, логическое индексирование для условных обновлений, методы at и iat для быстрого скалярного доступа и метод replace для гибкой замены значений. Вооружившись этими методами, вы сможете с легкостью выполнять эффективные манипуляции с данными в Pandas. Приятного кодирования!