Python 按GroupBy之后的字母顺序对数据帧中的列进行排序

Python 按GroupBy之后的字母顺序对数据帧中的列进行排序,python,dataframe,pandas-groupby,Python,Dataframe,Pandas Groupby,我使用GroupBy对dataframe data_2020中的“金额”求和 data_2020.groupby(['Category'])['Amount'].sum().sort_values(ascending=False) 现在,我想按“Category”列进行排序。我曾尝试使用sort_值(by=['Category'],inplace=True),但现在收到一条错误消息: TypeError:sort_values()获得意外的关键字参数“by” 如何按“类别”列排序?此语句 d

我使用GroupBy对dataframe data_2020中的“金额”求和

data_2020.groupby(['Category'])['Amount'].sum().sort_values(ascending=False)

现在,我想按“Category”列进行排序。我曾尝试使用sort_值(by=['Category'],inplace=True),但现在收到一条错误消息:

TypeError:sort_values()获得意外的关键字参数“by”

如何按“类别”列排序?

此语句

data_2020.groupby(['Category'])['Amount'].sum().sort_values(ascending=False)
将返回熊猫系列

>>> import pandas as pd
>>> 
>>> 
>>> lst = [28793.78, 6380.09, 5895.26, 324.79, 279.76, 239.62]
>>> categories = ['0', 'Amazon', 'Supermarker', 'Taxi', 'Newspapers', 'Boots']
>>> ser = pd.Series(lst, index=categories)
>>> ser.index.name = 'Category'
>>> ser
Category
0              28793.78
Amazon          6380.09
Supermarker     5895.26
Taxi             324.79
Newspapers       279.76
Boots            239.62
dtype: float64
不接受参数的
(与接受的
pandas.DataFrame.sort\u值相反)


sort\u index(升序=True)
应该可以做到:

>>> ser.sort_index(ascending=True)
Category
0              28793.78
Amazon          6380.09
Boots            239.62
Newspapers       279.76
Supermarker     5895.26
Taxi             324.79
dtype: float64

.sort\u index()
?不,我不是这个意思。需要是
data\u 2020.groupby(['Category'])['Amount'].sum().sort\u index()
谢谢。你的答案和下面的答案一起帮助了我。我使用了以下脚本:data_2020.groupby(['Category'])['Amount'].sum().sort_values(升序=False)。sort_index(升序=True)Gia sou Giorgo,感谢您的详细解释。它帮助我理解了DataFrame和Series的区别。我使用以下脚本解决了我的问题:data_2020.groupby(['Category'])['Amount'].sum().sort_values(升序=False)。sort_index(升序=True)