Groupby with agg with row based condition

问题描述 投票:0回答:0

我必须合并数据框中的所有重复值,每个单元格的值用逗号分隔。问题是我不希望将以字符串格式存在的 na 值组合在一起(nan 以 'nan' 格式存在),所以,我不能简单地使用 df.groupby(['column'] ).agg(', '.join)

我尝试使用 df.query 并过滤了 nan 值的字符串格式,但随后它们都被过滤掉了,我需要做的是区别对待它们。

现在我能做的是,

df = df.groupby(['TIN', 'PIN']).agg(', '.join).reset_index()

在这里,我得到的结果是,

    PIN    TIN    Column
0   1      2,4    a,b,c
1   3      1,7    d
2   nan    8      e,f
3   nan    nan    g,h,i,j,k,l,....

我需要的是:-

    PIN    TIN    Column
0   1      2,4    a,b,c
1   3      1,7    d
2   nan    8      e,f
3   nan    nan    g
4   nan    nan    h
5   nan    nan    i
6   nan    nan    j
7   nan    nan    k
8   nan    nan    l 
....... 
python python-3.x group-by null aggregate
© www.soinside.com 2019 - 2024. All rights reserved.