我有以下熊猫数据框
this.pendingApproval = [...approvalResp.result.cases];
我想按ID分组并转置类别列以获得类似的内容:
id category counts_mean
0 8 a 23
1 8 b 22
2 8 c 23
3 8 d 30
4 9 a 40
5 9 b 22
6 9 c 11
7 9 d 10
....
我用groupby和pivot尝试了不同的方法,但是我不确定groupby的聚合参数应该是什么...
答案 0 :(得分:1)
代替使用groupby和ivot,您只需要使用ivot函数并设置参数(索引,列,值)即可对DataFrame进行调整。
#Creat the DataFrame
data = {
'id': [8,8,8,8,9,9,9,9],
'catergory': ['a','b','c','d','a','b','c','d'],
'counts_mean': [23,22,23,30,40,22,11,10]
}
df = pd.DataFrame(data)
# Using pivot to reshape the DF
df_reshaped = df.pivot(index='id',columns='catergory',values = 'counts_mean')
print(df_reshaped)
output:
catergory a b c d
id
8 23 22 23 30
9 40 22 11 10