【发布时间】:2020-07-02 09:10:56
【问题描述】:
我正在寻找与此线程中类似的任务:Merge multiple column values into one column in 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
然后我想groupbyID1和ID2:
gr = df.groupby(['ID1','ID2'])
然后,我希望我的结果如下所示:
Out:
NewCol
0 1
1 1
2 2,1
所以它是一个新的DataFrame,其中包含Status 列的non-null 值,该列按ID1 和ID2 分组。
提前致谢。
【问题讨论】:
标签: python pandas dataframe row pandas-groupby