Рубрики
Без рубрики

Pandas dataframe loc [] Для доступа к группе строк и столбцов

PandaS DataFrame LoC [] позволяет нам получить доступ к группе строк и столбцов. Мы можем пропустить этикетки, а также логические значения для выбора строк и столбцов.

Автор оригинала: Pankaj Kumar.

PandaS DataFrame LoC [] позволяет нам получить доступ к группе строк и столбцов. Мы можем пропустить этикетки, а также логические значения для выбора строк и столбцов.

Dataframe loc [] входы

Некоторые из допустимых входов:

  • Одно ярлык – Возвращая ряд в качестве объекта серии.
  • Список ярлыков – возвращает dataframe выбранных строк.
  • Ломтик с этикетками – Возвращает серию с указанными строками, включая ярлыки запуска и остановки.
  • Логический массив – Возвращает dataframe для истинных меток, длина массива должна быть такой же, как выбрано оси.
  • Условный оператор или вызываемая функция – Необходимо вернуть допустимое значение, чтобы выбрать строки и столбцы для возврата.

Dataframe loc [] примеры

Давайте посмотрим на некоторые примеры использования атрибута объекта DataFrame. Но, во-первых, мы создадим образец DataFrame для нас для использования.

import pandas as pd

d1 = {'Name': ['John', 'Jane', 'Mary'], 'ID': [1, 2, 3], 'Role': ['CEO', 'CTO', 'CFO']}

df = pd.DataFrame(d1)

print('DataFrame:\n', df)

Выход:

DataFrame:
    Name  ID Role
0  John   1  CEO
1  Jane   2  CTO
2  Mary   3  CFO

1. loc [] с одной этикеткой

row_1_series = df.loc[1]
print(type(row_1_series))
print(df.loc[1])

Выход:


Name    Jane
ID         2
Role     CTO
Name: 1, dtype: object

2. loc [] со списком метки

row_0_2_df = df.loc[[0, 2]]
print(type(row_0_2_df))
print(row_0_2_df)

Выход:


   Name  ID Role
0  John   1  CEO
2  Mary   3  CFO

3. Получение единого значения

Мы можем указать этикетки строки и столбцов, чтобы получить одно значение из объекта DataFrame.

jane_role = df.loc[1, 'Role']
print(jane_role)  # CTO

4. Ломтик с LOC []

Мы также можем передавать ломтик этикеток в том случае, в этом случае этикетки начала и остановки будут включены в объект серии результатов.

roles = df.loc[0:1, 'Role']
print(roles)

Выход:

0    CEO
1    CTO
Name: Role, dtype: object

5. loc [] С массивом логических ценностей

row_1_series = df.loc[[False, True, False]]
print(row_1_series)

Выход:

   Name  ID Role
1  Jane   2  CTO

Поскольку содержит DataFrame 3 строк, длина массива должна быть 3. Если аргумент логической длины массива не совпадает с длиной оси, IndexError: вещь неправильная длина Поднялся.

6. LOC [] с условными утверждениями

data = df.loc[df['ID'] > 1]
print(data)

Выход : DataFrame строк, где идентификатор больше 1.

   Name  ID Role
1  Jane   2  CTO
2  Mary   3  CFO

7. DataFrame LOC [] с Callable Function

Мы также можем использовать функцию лямбда с атрибутом dataframe loc [].

id_2_row = df.loc[lambda df1: df1['ID'] == 2]
print(id_2_row)

Выход:

   Name  ID Role
1  Jane   2  CTO

Настройка значений DataFrame, используя атрибут LOC []

Одной из особых особенностей LOC [] является то, что мы можем использовать его для установки значений DataFrame. Давайте посмотрим на некоторые примеры для установки значений DataFrame с использованием атрибута LOC [].

1. Установка единого значения

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

import pandas as pd

d1 = {'Name': ['John', 'Jane', 'Mary'], 'ID': [1, 2, 3], 'Role': ['CEO', 'CTO', 'CFO']}

df = pd.DataFrame(d1, index=['A', 'B', 'C'])
print('Original DataFrame:\n', df)

# set a single value
df.loc['B', 'Role'] = 'Editor'
print('Updated DataFrame:\n', df)

Выход:

Original DataFrame:
    Name  ID Role
A  John   1  CEO
B  Jane   2  CTO
C  Mary   3  CFO

Updated DataFrame:
    Name  ID    Role
A  John   1     CEO
B  Jane   2  Editor
C  Mary   3     CFO

2. Установка значений целой строки

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

df.loc['B'] = None
print('Updated DataFrame with None:\n', df)

Выход:

Updated DataFrame with None:
    Name   ID  Role
A  John  1.0   CEO
B  None  NaN  None
C  Mary  3.0   CFO

3. Установка значений целого столбца

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

df.loc[:, 'Role'] = 'Employee'
print('Updated DataFrame Role to Employee:\n', df)

Выход:

Updated DataFrame Role to Employee:
    Name   ID      Role
A  John  1.0  Employee
B  None  NaN  Employee
C  Mary  3.0  Employee

4. Установка значения на основе условия

df.loc[df['ID'] == 1, 'Role'] = 'CEO'
print(df)

Выход:

   Name   ID      Role
A  John  1.0       CEO
B  None  NaN  Employee
C  Mary  3.0  Employee

Заключение

Атрибут Python DataFrame LOC [] очень полезен, потому что мы можем получить определенные значения, а также установить значения. Поддержка условных параметров и атрибутов Lambda с атрибутом LOC [] делает его очень мощным ресурсом.

Рекомендации: