В чем разница между 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.