如何在DataFrame中实现类似Excel COUNTIFS的分组排名
实现DataFrame分组条件排名(复刻Excel COUNTIFS功能)
直接使用Pandas的groupby结合rank方法就能实现按Technology分组的独立排名,代码如下:
# 假设你的DataFrame名为df df['燃气与燃煤机组平均排名'] = df.groupby('Technology')['Average Rank'].rank(ascending=True, method='min').astype(int)
参数说明:
groupby('Technology'):按Technology字段的CCGT、COAL分组,每组独立计算排名ascending=True:表示Average Rank值越小,排名越靠前(如果需要数值越大排名越靠前,改为ascending=False即可)method='min':确保同一组内相同Average Rank值的记录获得相同的最小排名(如果需要按数据出现顺序排名,可改为method='first')astype(int):将排名结果从浮点数转为整数,得到1-47(燃气)、1-2(燃煤)的整数排名
运行后就能得到符合需求的「燃气与燃煤机组平均排名」列,完美复刻Excel COUNTIFS的条件分组排名逻辑。
内容的提问来源于stack exchange,提问作者Chetan Patel
相关产品推荐
相关产品推荐

