В чем разница между dataframe.loc и dataframe.iloc в Python?

Метод loc и iloc в Python отличаются следующим образом:

Метод loc: позволяет обращаться к элементам в DataFrame по меткам индексов и названиям столбцов.

import pandas as pd

# Создание DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['r1', 'r2', 'r3'])

# Использование метода loc
print(df.loc['r1', 'A'])  # Выводит значение в строке 'r1' и столбце 'A'

Метод iloc: позволяет обращаться к элементам в DataFrame по числовым индексам строк и столбцов, как в массиве.

import pandas as pd

# Создание DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# Использование метода iloc
print(df.iloc[0, 1])  # Выводит значение в первой строке и втором столбце

Детальный ответ

dataframe чем отличается loc и iloc python

В Python, когда мы работаем с DataFrame, мы часто сталкиваемся с такой проблемой: нам нужно выбрать определенные строки или столбцы из нашего DataFrame для анализа или манипуляций. Для этого у нас есть два основных инструмента: loc и iloc.

loc

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

Примеры:

import pandas as pd

data = {'name': ['John', 'Emma', 'Alex'],
        'age': [25, 30, 35],
        'gender': ['Male', 'Female', 'Male']}

df = pd.DataFrame(data)

# Выбор данных с помощью loc
print(df.loc[0]) # Выбирает первую строку
print(df.loc[:, 'name']) # Выбирает все строки столбца 'name'
print(df.loc[1:2, ['name', 'age']]) # Выбирает строки 1 и 2 и столбцы 'name' и 'age'

В приведенном выше примере мы используем loc для выбора данных из DataFrame. Мы можем выбрать отдельную строку, отдельный столбец или даже комбинацию строк и столбцов. Метод loc принимает два параметра: первый параметр - индекс строк, второй параметр - индекс столбцов. Если не указаны индексы столбцов, будет выбраны все столбцы.

iloc

iloc используется для выбора данных на основе целочисленных позиций строк и столбцов. Он позволяет нам использовать целочисленные индексы для выбора данных из DataFrame.

Примеры:

import pandas as pd

data = {'name': ['John', 'Emma', 'Alex'],
        'age': [25, 30, 35],
        'gender': ['Male', 'Female', 'Male']}

df = pd.DataFrame(data)

# Выбор данных с помощью iloc
print(df.iloc[0]) # Выбирает первую строку
print(df.iloc[:, 0]) # Выбирает все строки первого столбца
print(df.iloc[1:2, [0, 1]]) # Выбирает строки 1 и 2 и столбцы с индексами 0 и 1

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

Какие выбрать?

Выбор между loc и iloc зависит от ваших потребностей и предпочтений.

Если у вас есть данные со специфическими метками строк или столбцов, и вы хотите выбрать эти данные, то вы будете использовать loc.

Если вам просто нужны данные из определенного диапазона строк и столбцов с целочисленными позициями, то вы можете использовать iloc.

Обратите внимание, что loc и iloc не изменяют исходный DataFrame. Они только позволяют нам выбирать и работать с данными в DataFrame.

Видео по теме

Обращение к элементам Series. Методы loc и iloc

Уроки Pandas: Мощные инструменты индексации в Pandas: Разбираемся в loc и iloc. Урок 9

[Arabic] [ 4 ] Access pandas series - Difference between loc and iloc

Похожие статьи:

🔍 Как узнать, является ли год високосным в Python? ✔️

🎨 Как нарисовать смайлик с помощью Python: шаг за шагом руководство 🐍

🔧Как сделать асинхронную функцию в Python с простым уровнем сложности

В чем разница между dataframe.loc и dataframe.iloc в Python?

📝 Как пишутся программы в Питоне по условию? Узнайте простые способы для начинающих! 🐍

🐍 Где можно использовать язык Python? 🤔

Как вставить символ в список питон? 🐍💥 Простые шаги и примеры!