根据特定列python dataframe对特定列值进行排序
使用以下代码在数据帧的4列上应用group by时:根据特定列python dataframe对特定列值进行排序,python,pandas,sorting,dataframe,Python,Pandas,Sorting,Dataframe,使用以下代码在数据帧的4列上应用group by时: df = df_week.groupby(['Week/Year', 'host', 'table_type', 'table_name']).size() 我在表格中得到了数据: Week/Year host table_type table_name 31/2017 rb abc qrst 10 31/2017
df = df_week.groupby(['Week/Year', 'host', 'table_type', 'table_name']).size()
我在表格中得到了数据:
Week/Year host table_type table_name
31/2017 rb abc qrst 10
31/2017 gb def abcd 17
31/2017 rb abc lmno 8
32/2017 rb abc qrst 7
32/2017 gb def abcd 1
32/2017 rb def lmno 5
32/2017 rb abc tuvw 20
33/2017 gb abc qrst 19
33/2017 rb def lmno 21
现在,我想根据周/年列对最后一列中计算的计数进行排序,即在2017年31月的组中,计数列中的所有值都应进行排序
例如:
预期产出为:
Week/Year host table_type table_name
31/2017 gb def abcd 17
31/2017 rb abc qrst 10
31/2017 rb abc lmno 8
32/2017 rb abc tuvw 20
32/2017 rb abc qrst 7
32/2017 rb def lmno 5
32/2017 gb def abcd 1
33/2017 rb def lmno 21
33/2017 gb abc qrst 19
在以下代码中,您可以按
Week/year
列按升序排序,按size
列按降序排序
将熊猫作为pd导入
df=df.groupby(['Week/Year','host','table_type','table_name']).size().to_frame('size').reset_index()
df.sort_值(['Week/Year','size'],升序=[True,False])
如果要将数据保留为系列
对象,请按值排序,然后索引:
df.sort_values(ascending = False).sort_index(level = 'Week/Year')
您是否尝试过对值进行排序?将分组的df保存为df1 for ex,然后保存为df1。对值(“周/年”)进行排序。