您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Python中怎么實現組內排名,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1. 求組內的最大/最小/平均值
import pandas as pd df = pd.read_excel(r"D:\Jupyter\data\組內排序.xlsx") df
# 賦值 sale = df.groupby(["品類"])["銷售額"]
# 求出不同品類的最大銷售額 sale_max = sale.max() sale_max
# 求出不同品類的最小銷售額 sale_min = sale.min() sale_min
# 求出不同品類的平均銷售額 sale_mean = sale.mean() sale_mean
2. 新增一個字段實現累計求和
import pandas as pd df1 = pd.read_excel(r"D:\Jupyter\data\組內排序.xlsx") df1
# 添加一個新字段,對銷售額進行累計求和 df1["累計銷售額"] = df1["銷售額"].cumsum() df1
3. 新增一個字段并實現組內累計求和
import pandas as pd df2 = pd.read_excel(r"D:\Jupyter\data\組內排序.xlsx") df2
df2["依據品類累計求和"] = df2.groupby(["品類"])["銷售額"].cumsum() df2
4. 新增一列對銷售額進行排名,單不改變其順序(不排序)
import pandas as pd df3 = pd.read_excel(r"D:\Jupyter\data\組內排序.xlsx",sheet_name = 1) df3
df3["按銷售額排升序"] = df3["銷售額"].rank() df3
其它各種排名規則
df3["銷售額_mean"] = df["銷售額"].rank(method = "average") df3
df3["銷售額_max"] = df["銷售額"].rank(method = "max") df3
df3["銷售額_min"] = df3["銷售額"].rank(method = "min") df3
df3["銷售額_first"] = df3["銷售額"].rank(method = "first") df3
5. 依據品類對銷售額進行實現組內排名
import pandas as pd df4 = pd.read_excel(r"D:\Jupyter\data\組內排序.xlsx",sheet_name = 1) df4
# 根據不同品類對銷售額進行排名 df4["品類_排名"] = df4.groupby(["品類"])["銷售額"].rank() df4
注:
1. method : {‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}, default ‘average’ 主要用來當排序時存在相同值參數設置;
2. na_option : {‘keep’, ‘top’, ‘bottom’}, default ‘keep’ 當排序數據中存在空值時,默認值設置為keep
看完上述內容,你們對Python中怎么實現組內排名有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。