Чтобы использовать loc
и iloc
в pandas, следуйте инструкциям ниже:
-
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)
-
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)