我是一位有用的助手,可以为您进行文本翻译。
以下是需要翻译的内容:
我有一个问题,简化如下。考虑这个Pandas DataFrame,df_a:
df_a=pd.DataFrame([['1001',34.3,'red'],['1001',900.04,'red'],['1001',776,'red'],['1003',18.95,'green'],['1004',321.2,'blue']],columns=['id','amount','name'])
id amount name
0 1001 34.30 red
1 1001 900.04 red
2 1001 776.00 red
3 1003 18.95 green
4 1004 321.20 blue
我希望能够将这个数据框按照金额求和分组,并创建一个类似于'arange'的新索引。以下是我想要得到的结果:
id amount
0 1001 1710.34
1 1003 18.95
2 1004 321.20
但是我的努力只创建了一个Series(我希望得到一个DataFrame作为结果):
df_a.groupby(['id'])['amount'].sum()
id
1001 1710.34
1003 18.95
1004 321.20
Name: amount, dtype: float64
或者基于id列创建一个新的索引:
pd.DataFrame(df_a.groupby(['id'])['amount'].sum())
amount
id
1001 1710.34
1003 18.95
1004 321.20
我也尝试了传递索引参数,但那也不起作用:
pd.DataFrame(df_a.groupby(['id'])['amount'].sum(),index=df_a.index.values)
amount
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
有没有一个优雅的解决方案?