У меня есть большой стол в формате следующим образом (до 10 человек):Панды Вычислить Сумма нескольких столбцов Учитывая несколько условий
person1_status | person2_status | person3_status | person1_type | person_2 type | person3_type
0 | 1 | 0 | 7 | 4 | 6
Где статус может быть 0 или 1 (первый 3 колонки).
Где тип может составлять от 4 до 7. Значение здесь соответствует другой таблице, которая определяет значение, основанное на типе. Так что ...
Type | Value
4 | 10
5 | 20
6 | 30
7 | 40
Мне нужно вычислить две колонки, 'A' и 'B', где:
- А является сумма значений типа каждого человека (в том строка), где состояние = 0.
- в является сумма значений типа каждого человека (в этой строке), где состояние = 1.
Например, результирующие столбцы «A» и «B» будет выглядеть следующим образом:
A | B
70 | 10
Объяснение этого:
«А» имеет значение 70, так как лицом1 и person3 имеют «статус "0 и имеют соответствующий тип 7 и 6 (что соответствует значениям 30 и 40).
Аналогичным образом должен быть другой столбец «B», который имеет значение «10», потому что только человек2 имеет статус «1», а их тип «4» (который имеет соответствующее значение 10).
Это, наверное, глупый вопрос, но как это сделать векторным способом? Я не хочу использовать цикл for или что-то еще, так как он будет менее эффективным ...
Я надеюсь, что это имело смысл ... мог ли кто-нибудь мне помочь? Я думаю, что я мертв мозгом, пытаясь понять это.
Для более простых вычисляемых столбцов я уходил только с np.where, но я немного застрял здесь, так как мне нужно вычислить сумму значений из нескольких столбцов при определенных условиях, потянув эти значения из отдельной таблицы. ..
надежда, что имело смысл
Можете ли вы предоставить [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve)? –
Вот пример, который я дал более ясно – shishy