对分组数据框进行排序

问题描述 投票:0回答:1

我有一个数据框,里面有['name', 'sex', 'births', 'year']列。然后我根据名字对数据框进行分组,创建了2个新的列 "max "和 "total"。

trendy_names['max'] = trendy_names.groupby(['name'], as_index = False)['births'].transform('max')
trendy_names['total'] = trendy_names.groupby(['name'], as_index = False)['births'].transform('sum')

使用这2列,我创建了一个计算列 "趋势性"。

trendy_names['trendiness'] = trendy_names['max']/trendy_names['total']

然后,我隔离那些总出生数大于1000的数据。

trendy_names = trendy_names[trendy_names.total >= 1000]

现在,我想根据 "趋势性 "列对数据框进行排序。有什么想法吗?

python python-3.x pandas pandas-groupby
1个回答
0
投票

根据类型 "trendiness "对数据框进行排序。DataFrameGroupBy

 1. trendy_names.reset_index()

reset_index() - 转换回常规索引,即把pandas.core.groupby.DataFrameGroupBy转换为pandas.core.frame.DataFrame。

 2. trendy_names.sort_values(by = 'trendiness')
© www.soinside.com 2019 - 2024. All rights reserved.