[英]How to get frequency count for a column value, sorted by aa categorical value in another column
我有一個 pandas dataframe 包括兩列,船只名稱和延遲指示器。 船只名稱是船只的字符串名稱,延遲指示符是 0 或 1(布爾值)。
我的 DataFrame:
df = pd.DataFrame({
"Vessel.Name": ["Spirit of British Columbia", "Queen of New Westminster", "Spirit of Vancouver Island", "Coastal Celebration", "Spirit of British Columbia"],
"Delay.Indicator":[0, 0, 0, 1, 0]
})
它的外觀:
Vessel.Name Delay.Indicator
Spirit of British Columbia 0
Queen of New Westminster 0
Spirit of Vancouver Island 0
Coastal Celebration 1
Spirit of British Columbia 0
我的目標是獲得一個 DataFrame,其中包括每個不同的船名,以及兩個新列,指示其計數,以及延遲指示器中的“1”總數,用於每個不同的船名。 不確定是否有 pandas 方法或者我是否應該遍歷 python 列表?
應用聚合函數的簡單 groupby 應該可以解決問題:
df.groupby("Vessel.Name")["Delay.Indicator"].agg(['count', sum])
Output:
count sum
Vessel.Name
Coastal Celebration 1 1
Queen of New Westminster 1 0
Spirit of British Columbia 2 0
Spirit of Vancouver Island 1 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.