我的数据框中包含[['名称','性别','生育'年']。然后,我根据名称对数据框进行分组,以创建2个新列" max"和"总计"。
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')
使用这两列,我创建了一个计算列" trendiness"。
trendy_names['trendiness'] = trendy_names['max']/trendy_names['total']
然后,我将那些总出生人数大于1000的人分开。
trendy_names = trendy_names[trendy_names.total >= 1000]
现在,我想根据" trendiness"对数据帧进行排序。柱。有什么想法吗?
答案 0 :(得分:0)
要根据“趋势”对数据框进行排序,其类型为:DataFrameGroupBy
1. trendy_names.reset_index()
reset_index()
-转换回常规索引
即将pandas.core.groupby.DataFrameGroupBy转换为pandas.core.frame.DataFrame
2. trendy_names.sort_values(by = 'trendiness')