更新时间:2021-09-19 22:50:39
您可以这样做:
for key, grp in df.groupby('company_id'):
records.append({
"company_id": key,
"company_name": grp.company_name.iloc[0],
"income": {
row.income_type: row.income_amt for row in grp.itertuples()
}})
那给你:
[{'company_id': 1,
'company_name': 'Foobar Inc',
'income': {'royalties': 5000000}},
{'company_id': 2,
'company_name': 'ACME Corp',
'income': {'rent': 1000000, 'sales': 3000000}}]