【发布时间】:2023-03-09 00:57:01
【问题描述】:
我想在 pandas 中对数据框进行排序。我想通过按值计数对 2 列进行排序来做到这一点。一个取决于另一个。如图所示,我已经实现了分类排序。但是,我希望“类别”列按值计数排序。然后数据框将根据同一类别下的'beneficiary_name'再次排序。
这是我为实现这一目标而编写的代码。
data_category = data_category.sort_values(by=['category','beneficiary_name'], ascending=False)
请帮我解决这个问题。谢谢。
【问题讨论】:
-
能否在您的问题中提供一个数据框?请参阅How to make good reproducible pandas examples 寻求帮助
-
用
df['counts'] = df.groupby('category')['data'].transform('size')分配计数。然后你可以对counts和beneficiary_name进行排序。 -
@QuangHoang 这行得通!但是我如何仅对受益人姓名进行升序排序。当我尝试提升 true 时,它也会计数。
-
传递一个数组
ascending=[True, False]: -
非常感谢!你想发布这个答案吗?所以我可以接受它是正确的。
标签: python pandas dataframe numpy sorting