Pandas: формула «если значение в столбце, то»


Вы можете использовать следующий синтаксис в pandas для присвоения значений столбцу на основе значений другого столбца:

 df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')

Этот конкретный синтаксис создаст новый столбец с именем «новый», который будет принимать следующие значения:

  • new1 , если значение в столбце равно A.
  • new2 , если значение в столбце равно B.
  • Пустая строка, если значение в столбце равно любому другому значению.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: использование формулы «Если значение в столбце, то» в Pandas

Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C'],
                   ' points ': [14, 22, 25, 34, 30, 12, 10, 18]})

#view DataFrame
print (df)

  team points
0 to 14
1 to 22
2 to 25
3 to 34
4 B 30
5 B 12
6 C 10
7 C 18

Теперь предположим, что мы хотим создать новый столбец с именем city , значения которого зависят от соответствующего значения в столбце команды .

Для этого мы можем использовать следующий синтаксис:

 #create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')

#view updated DataFrame                            
print (df)

  team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10         
7 C 18       

Этот конкретный синтаксис создает новый столбец с именем city , который принимает следующие значения:

  • Атланта , если значение команды равно А.
  • Бостон , если значение команды равно B.
  • Пустая строка, если значение в команде равно любому другому значению.

Обратите внимание, что в этом примере мы использовали пустую строку после последнего оператора else , чтобы просто оставить значения, не соответствующие каким-либо условиям, пустыми.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Pandas: получить индекс строк, столбец которых соответствует значению
Pandas: как выбрать столбцы, содержащие определенную строку
Pandas: как проверить, содержит ли столбец строку

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *