我有以下数据集。
colA ColB ColC
a 1 aa
a 1 Nan
a 2
a 2 bb
a 2 cc
我想要以下输出
colA ColB ColC
a 1 aa
a 2 bb#cc
我正在尝试按ColA和ColB分组并合并ColC值。我尝试在熊猫中使用以下代码。但我没得到
test1 = test(['colA','colB'])['colC'].apply(lambda x: x.sum() )
必须避免在列中使用Nan或空格,并使用#分隔符将所有值连接起来。
答案 0 :(得分:1)
第一个replace
的所有Nan和空白分别为np.nan
,然后为dropna
,问题就变得简单了groupby
agg
join
>
df=df.replace({'Nan':np.nan,' ':np.nan})
df.dropna().groupby(['colA','ColB'],as_index=False).ColC.agg(','.join)
colA ColB ColC
0 a 1 aa
1 a 2 bb,cc