Как заполнить столбец, основываясь на 3 других?

Нужно создать столбец OverAll_PassStatus и записать в него для каждого студента 'F', если студент не сдал хотя бы один из трех экзаменов, а иначе 'P'. Как это сделать? Пробовал в гугле найти - не получилось. Подскажите пожалуйста. введите сюда описание изображения


Ответы (2 шт):

Автор решения: Namerek
import pandas as pd

data = [
    {
        'A': 1,
        'B': 2,
        'C': 3
    },
    {
        'A': 4,
        'B': 5,
        'C': 6
    },
    {
        'A': 7,
        'B': 8,
        'C': 9
    },
    {
        'A': 10,
        'B': 11,
        'C': 12
    },
    {
        'A': 1,
        'B': 2,
        'C': 3
    },
]

def mult(y):
    a, b, c = y
    return a * b * c

df = pd.DataFrame(data)


df['D'] = df[['A', 'B', 'C']].apply(mult, axis=1)

введите сюда описание изображения

→ Ссылка
Автор решения: CrazyElf

Ну вот, например, хотя можно и менее заковыристо написать, наверное:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.choice(['P','F'], (10,3)))
df['OverAll_PassStatus'] = \
    df.apply(lambda x: 'PF'[any(map('F'.__eq__, x))], axis=1)
df

Вывод:

0 1 2 OverAll_PassStatus
0 P F P F
1 P F P F
2 F F F F
3 F P F F
4 P P P P
5 P P P P
6 P F P F
7 F P F F
8 P F P F
9 P F F F
→ Ссылка