Я пытаюсь что-то решить на Пандах, но я не уверен, с чего начать.
У меня есть фрейм данных с несколькими столбцами, но интересующие его вопросы выглядят так:
df = pd.DataFrame(data = {'subject': [1, 1, 1, 2, 2, 2, 3, 3, 3], 'val': [np.nan, 2, np.nan, np.nan, np.nan, 7, np.nan, np.nan, 10]})
subject val
0 1 NaN
1 1 2.0
2 1 NaN
3 2 NaN
4 2 NaN
5 2 7.0
6 3 NaN
7 3 NaN
8 3 10.0
Я хочу создать третий столбец, который для каждого предмета имеет значение в столбце val для соответствующего предмета:
subject val total
0 1 NaN 2
1 1 2.0 2
2 1 NaN 2
3 2 NaN 7
4 2 NaN 7
5 2 7.0 7
6 3 NaN 10
7 3 NaN 10
8 3 10.0 10
Я знаю, что могу сделать
df[['subject', 'val']].dropna()
, чтобы получить значения для третьего столбца, но при этом будут потеряны все остальные столбцы в кадре данных (который имеет разные значения в каждой строке).
Спасибо