Панды: Как суммировать столбцы на основе условий других значений столбцов?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Панды: Как суммировать столбцы на основе условий других значений столбцов?

Сообщение Anonymous »

У меня есть следующий панд DataFrame. < /p>

Код: Выделить всё

import pandas as pd
df = pd.read_csv('filename.csv')

print(df)

dog      A         B           C
0     dog1    0.787575  0.159330    0.053095
1     dog10   0.770698  0.169487    0.059815
2     dog11   0.792689  0.152043    0.055268
3     dog12   0.785066  0.160361    0.054573
4     dog13   0.795455  0.150464    0.054081
5     dog14   0.794873  0.150700    0.054426
..    ....
8     dog19   0.811585  0.140207    0.048208
9     dog2    0.797202  0.152033    0.050765
10    dog20   0.801607  0.145137    0.053256
11    dog21   0.792689  0.152043    0.055268
....
Я создаю новый столбец, суммируя столбцы «a» , "b" , "c" следующим образом:

Код: Выделить всё

df['total_ABC'] = df[["A", "B", "B"]].sum(axis=1)
Теперь я хотел бы сделать это на основе условного, то есть, если «a»
Как можно создавать такие условные операторы?

Код: Выделить всё

df['smallA_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if row['A'] < 0.78))
Однако это не работает, и я не могу указать оси.
Как создать столбец на основе значений других столбцов?

Код: Выделить всё

 df['dog2_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if df['dog'] == 'dog2'))
Но мой подход неверен.

Подробнее здесь: https://stackoverflow.com/questions/379 ... umn-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»