Pandas: как добавлять столбцы на основе условия
Вы можете использовать следующий синтаксис для суммирования значений столбца в DataFrame pandas на основе условия:
df. loc [df[' col1 '] == some_value , ' col2 ']. sum ()
В этом руководстве представлено несколько примеров практического использования этого синтаксиса с использованием следующего DataFrame pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'], ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'], ' points ': [11, 8, 10, 6, 6, 5], ' rebounds ': [7, 7, 6, 9, 12, 8]}) #view DataFrame df team conference points rebounds 0 A East 11 7 1 A East 8 7 2 A East 10 6 3 B West 6 9 4 B West 6 12 5 C East 5 8
Пример 1. Добавление столбца на основе условия
Следующий код показывает, как найти сумму очков для строк, где команда равна «А»:
df. loc [df[' team '] == ' A ', ' points ']. sum () 29
Пример 2. Добавление столбца на основе нескольких условий
Следующий код показывает, как найти сумму очков для линий, где команда равна «А» , а конференция равна «Восток»:
df. loc [(df[' team '] == ' A ') & (df[' conference '] == ' East '), ' points ']. sum () 29
Пример 3. Добавление столбца на основе одного из нескольких условий
Следующий код показывает, как найти сумму очков для линий, где команда равна «A» или «B»:
df. loc [df[' team ']. isin ([' A ',' B ']), ' dots ']. sum () 41
Дополнительные уроки по панде вы можете найти на этой странице .