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