У меня есть pandas dataframe, который имеет следующую форму:
OPEN_INT PX_HIGH PX_LAST VOL
timestamp ticker source
2018-01-01 AAPL NYSE 1 NaN NaN NaN
2018-01-01 AAPL NYSE NaN 2 NaN NaN
2018-01-01 AAPL NYSE NaN NaN 3 NaN
2018-01-01 AAPL NYSE Nan NaN NaN 4
2018-01-01 MSFT NYSE 5 NaN NaN NaN
2018-01-01 MSFT NYSE NaN 6 NaN NaN
2018-01-01 MSFT NYSE NaN NaN 7 NaN
2018-01-01 MSFT NYSE Nan NaN NaN 8
В каждом столбце для каждой группы (отметка времени, тикер, источник) гарантировано только одно значение, все остальные значения - Nan,В любом случае я могу объединить их в одну строку, чтобы она выглядела следующим образом:
OPEN_INT PX_HIGH PX_LAST VOL
timestamp ticker source
2018-01-01 AAPL NYSE 1 2 3 4
2018-01-01 MSFT NYSE 5 6 7 8
Я пытался использовать df.groupby(['timestamp', 'ticker', 'source']).agg(lambda x: x.dropna()
, но получил сообщение об ошибке Function does not reduce
.