我有下面的csv
ID,PR_No,PMO,PRO,REV,COST
111,111,AB,MA,2575,2575
111,111,LL,NN,-1137,-1137
112,112,CD,KB,1134,3334
111,111,ZZ,YY,100,100我的预期输出如下
ID,PR_No,PMO,PRO,REV,COST
111,111,AB,MA,1538,1538
112,112,CD,KB,1134,3334对于ID111,有这么多的PMO,PRO,但在输出中,我们只需要首先粘贴AB,MA出现。
下面的代码需要做什么修改?
df_n = df.groupby(['ID','PR_No','PMO','PRO'])['REV','COST'].sum()
或者我需要执行df.groupby('ID','PR_No')'REV',‘COST’。.sum()稍后会进行映射?
发布于 2020-04-28 16:43:34
对前两列使用GroupBy.agg,对下两列使用GroupBy.first:
d = {'PMO':'first','PRO':'first','REV':'sum','COST':'sum'}
df_n = df.groupby(['ID','PR_No'], as_index=False).agg(d)
print (df_n)
ID PR_No PMO PRO REV COST
0 111 111 AB MA 1538 1538
1 112 112 CD KB 1134 3334https://stackoverflow.com/questions/61476056
复制相似问题