簡體   English   中英

如何獲取列值的頻率計數,按另一列中的分類值排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM