3 回答

TA貢獻1812條經驗 獲得超5個贊
你可以做一些手動:agg
(df.groupby('id', as_index=False)
.agg({'date':'max', 'name':'first',
'unitCount':'sum',
'orderCount':'sum',
'invoiceCount':'sum'})
.to_csv('file.csv')
)

TA貢獻1780條經驗 獲得超4個贊
您可以執行以下操作
# group rows by 'id' column
df.groupby('id', as_index=False).agg({'date':'max',
'name':'first',
'unitCount':'sum',
'orderCount':'sum',
'invoiceCount':'sum'}
# change the order of the columns
df = df[['date', 'id', 'name', 'unitCount', 'orderCount' ,'invoiceCount']]
# set the new column names
df.columns=['date', 'id', 'name', 'total_unitCount', 'total_orderCount' ,'total_invoiceCount']
# save the dataframe as .csv file
df.to_csv('path/to/myfile_sum.csv')

TA貢獻1829條經驗 獲得超4個贊
您只需要調用對象,然后相應地重命名列名,最后將生成的數據幀寫入文件。sum()groupbycsv
以下操作應該可以解決問題:
df = pd.read_csv(r'path/to/myfile.csv', sep=';')
df.groupby(['id', 'name'])['unitCount', 'orderCount', 'invoiceCount'] \
.sum() \
.rename(columns={'unitCount':'total_unitCount', 'orderCount' : 'total_orderCount', 'invoiceCount': 'total_invoiceCount'}) \
.to_csv('path/to/myoutputfile_sum.csv', sep=';')
添加回答
舉報