Я прочитал несколько разных способов присоединения и до сих пор не нашел решения, на которых я могу окутать голову. Был надеется на какой-то ввод или руководство.Pandas Groupby Row с несколькими столбцами
У меня есть dataframe с набором столбцов, который выглядит следующим образом:
In [1]: df_old
Out[1]:
CID time_a time_b time_c time_d
dc12 4:14pm NaN NaN NaN
dc12 NaN 4:18pm NaN NaN
dc12 NaN NaN 4:44pm NaN
ab14 2:14pm NaN NaN NaN
ab14 NaN 3:18pm NaN NaN
ab14 NaN NaN 3:27pm NaN
ab14 NaN NaN NaN 4:15pm
То, что я хочу, было бы следующее:
In [2]: df_new
Out[2]:
CID time_a time_b time_c time_d
dc12 4:14pm 4:18pm 4:44pm NaN
ab14 2:14pm 3:18pm 3:27pm 4:15pm
...
Я думаю, что есть способ сделать это с df.groupby(), но я не смог получить никаких результатов и задавался вопросом, может ли кто-нибудь указать мне в правильном направлении.
Заранее благодарим за помощь!
Мы знаем, что для каждого идентификатора CID имеется не более одного значения, отличного от NaN, для каждого столбца? – DSM
Нет, к сожалению, мы этого не делаем. У некоторых есть только время a и время b, у некоторых есть только время a, время b и время c, у некоторых есть все. Если у вас есть время d, у вас всегда есть время, хотя (иерархическое). – mburke05
Мой вопрос идет в другую сторону. Могли бы вы иметь две значения non-nan (например, 16:14 и 17:12) для time_a и CID = dc12? Или всегда есть только нуль или один раз, когда мы выбираем столбец и CID? – DSM