Я хочу выполнить аналогичную задачу, как в этой теме: Объединить значения нескольких столбцов в один столбец в python pandas
Но разница в том, что я хотел бы создать новый столбец, который объединяет все ненулевые значения в столбце после группировки по другому столбцу (столбцам). Вот пример игрушки:
df= pd.DataFrame({'ID1' : [1,1,2,2,3,3,3],'ID2' : ['a','a','b','b','c','c','c'],
'Status' : pd.Series([np.nan,'1', np.nan,'1','2',np.nan,'1'],
dtype="category")})
df
Out[74]:
ID1 ID2 Status
0 1 a NaN
1 1 a 1
2 2 b NaN
3 2 b 1
4 3 c 2
5 3 c NaN
6 3 c 1
Затем я хочу groupby
ID1
и ID2
:
gr = df.groupby(['ID1','ID2'])
Затем я хотел бы, чтобы мой результат выглядел так:
Out:
NewCol
0 1
1 1
2 2,1
Таким образом, это новый DataFrame
, который содержит non-null
значений столбца Status
, сгруппированных по ID1
и ID2
.
Заранее спасибо.