Комплексное руководство по использованию loc и iloc в Pandas для выбора данных

Чтобы использовать locи ilocв pandas, следуйте инструкциям ниже:

  1. loc: индексатор locиспользуется для доступа к данным по метке/индексу. Он принимает значение метки/индекса для поиска нужных строк или столбцов.

    Пример:

    import pandas as pd
    # Create a DataFrame
    data = {'Name': ['John', 'Emma', 'Peter', 'Emily'],
           'Age': [25, 28, 21, 24],
           'City': ['New York', 'London', 'Paris', 'Sydney']}
    df = pd.DataFrame(data)
    # Access rows using loc
    row = df.loc[1]  # Access the second row
    print(row)
    # Access specific columns using loc
    columns = df.loc[:, ['Name', 'City']]  # Access the 'Name' and 'City' columns
    print(columns)
  2. iloc: Индексатор ilocиспользуется для доступа к данным по целочисленной позиции. Он принимает целочисленные значения для поиска нужных строк или столбцов.

    Пример:

    import pandas as pd
    # Create a DataFrame
    data = {'Name': ['John', 'Emma', 'Peter', 'Emily'],
           'Age': [25, 28, 21, 24],
           'City': ['New York', 'London', 'Paris', 'Sydney']}
    df = pd.DataFrame(data)
    # Access rows using iloc
    row = df.iloc[1]  # Access the second row
    print(row)
    # Access specific columns using iloc
    columns = df.iloc[:, [0, 2]]  # Access the first and third columns
    print(columns)

Дополнительные методы, которые можно использовать с locи iloc:

  • Срез: вы можете использовать обозначение среза для выбора нескольких строк или столбцов.

    Пример:

    rows = df.loc[1:3]  # Access rows from index 1 to 3 (inclusive)
    print(rows)
    cols = df.iloc[:, 1:3]  # Access columns from index 1 to 3 (exclusive)
    print(cols)
  • Условный выбор. Вы можете использовать условные операторы для фильтрации строк по определенным критериям.

    Пример:

    filtered_rows = df.loc[df['Age'] > 25]  # Select rows where Age is greater than 25
    print(filtered_rows)
  • Объединение условий. Вы можете объединить несколько условий с помощью логических операторов, таких как &(и) и |(или).

    Пример:

    filtered_rows = df.loc[(df['Age'] > 20) & (df['City'] == 'London')]  # Select rows where Age is greater than 20 and City is 'London'
    print(filtered_rows)
  • Присвоение значений. Вы можете присвоить новые значения определенным строкам или столбцам.

    Пример:

    df.loc[1, 'Age'] = 30  # Assign a new value (30) to the 'Age' column in the second row
    print(df)