通过使用熊猫联合列值组

时间:2019-02-11 01:13:05

标签: python pandas

我有以下数据集。

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或空格,并使用#分隔符将所有值连接起来。

1 个答案:

答案 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