转换值一列单行的Python

问题描述:

我有一个熊猫数据框,看起来像这样:转换值一列单行的Python

Area1 Area2 
    1  2  
    1  4 
    1  5 
    1  9 
    2  8 
    2  16 
    2  4 
    2  1 
    3  8 
    3  9 

我如何转换“区域2”列,使之成为每个“区域1的值的列表“列

所以输出我希望是:

Area1  Area2 
    1  2, 4, 5, 9  
    2  8, 16, 4, 1 
    3  8, 9 

我已经R中以前也做过这样的:

df %>% group_by(Area1) %>% summarise(Area2= toString(sort(unique(Area2)))) 

我一直在尝试groupby()和agg(),但没有成功。

有人能解释一下我可以提前使用一次,我一直在使用df.groupby(“区域1”),分组数据

非常感谢您的任何建议。

可以GROUPBY和应用列表

import pandas as pd 
df=pd.read_csv("test.csv") 
df.groupby('Area1')['Area2'].apply(list) 

将R片段做字符串连接。

以下行保留原始类型Area2

import pandas as pd 

df.groupby('Area1').Area2.apply(pd.Series.tolist).reset_index()