Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Groupby包含重复项但同时保留重复信息的列_Python_Pandas - Fatal编程技术网

Python Groupby包含重复项但同时保留重复信息的列

Python Groupby包含重复项但同时保留重复信息的列,python,pandas,Python,Pandas,我有以下数据帧: df=pd.DataFrame({'id':['A','A','B','C','D'],'Name':['apple','apricot','banana','orange','citrus'], 'count':[2,3,6,5,12]}) id Name count 0 A apple 2 1 A apricot 3 2 B banana 6 3 C orange 5 4 D

我有以下数据帧:

 df=pd.DataFrame({'id':['A','A','B','C','D'],'Name':['apple','apricot','banana','orange','citrus'], 'count':[2,3,6,5,12]})

   id     Name  count
 0  A    apple      2
 1  A  apricot      3
 2  B   banana      6
 3  C   orange      5
 4  D   citrus     12
我试图按“id”列对数据帧进行分组,但也将重复的名称保留为单独的列。以下是预期产出:

    id   sum(count)  id1      id2
 0  A    5           apple    apricot
 1  B    6           banana   na
 2  C    5           orange   na
 3  D    12          citrus   na
我尝试使用下面的语句按id列分组,但这会完全删除name列

df.groupby(['id'], as_index=False).sum() 
如有任何建议/帮助,我将不胜感激

您可以使用:

g = df.groupby('id')
# Generate the new columns of the pivoted dataframe
col = g.Name.cumcount()
# Sum of count grouped by id
sum_count = g['count'].sum()

(df.pivot_table(values='Name', index='id', columns = col, aggfunc='first')
   .add_prefix('id')
   .assign(sum_count = sum_count))

      id0     id1       sum_count
id                            
A    apple  apricot          5
B   banana      NaN          6
C   orange      NaN          5
D   citrus      NaN         12