我有以下数据集。
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 值。我尝试在 Pandas 中使用以下代码。但我没有得到
test1 = test(['colA','colB'])['colC'].apply(lambda x: x.sum() )
它必须避免列中出现 Nan 或空格,并使用 # 分隔符连接所有值。
最佳答案
第一个replace
所有Nan和blank为np.nan
,然后dropna
,问题就变得简单groupby
聚合
加入
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
关于python - 使用 pandas 联合列值组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54622779/