How to group dataframe rows into list in pandas groupby

前端 未结 12 2139
日久生厌
日久生厌 2020-11-21 04:56

I have a pandas data frame df like:

a b
A 1
A 2
B 5
B 5
B 4
C 6

I want to group by the first column and get second col

12条回答
  •  攒了一身酷
    2020-11-21 05:40

    Here I have grouped elements with "|" as a separator

        import pandas as pd
    
        df = pd.read_csv('input.csv')
    
        df
        Out[1]:
          Area  Keywords
        0  A  1
        1  A  2
        2  B  5
        3  B  5
        4  B  4
        5  C  6
    
        df.dropna(inplace =  True)
        df['Area']=df['Area'].apply(lambda x:x.lower().strip())
        print df.columns
        df_op = df.groupby('Area').agg({"Keywords":lambda x : "|".join(x)})
    
        df_op.to_csv('output.csv')
        Out[2]:
        df_op
        Area  Keywords
    
        A       [1| 2]
        B    [5| 5| 4]
        C          [6]
    

提交回复
热议问题