Ⅰ 【函數】 collections.Counter()
Python標准庫collections里的counter()函數是一個計數器工具,用於統計可迭代對象中元素出現的次數,返回一個字典。counter()可以接受任何可迭代對象作為參數,如列表、元組、字元串、字典等,元素為字典的鍵,各元素出現的次數為字典的值,可以是任意整數,包括零和負數。
創建Counter()函數可以使用列表、字元串、映射關系或關鍵字參數。當訪問不存在的鍵時,返回值為0。如果參數是字典,Counter()還可以根據字典的值進行排序。
可以通過訪問Counter字典來獲取元素,就像使用dict那樣訪問Counter元素(值)。
Counter()提供了多種用法:
1. 按照計數降序返回前n項組成的list,使用most_common(n)方法,n默認為全部。
2. 計數相減,使用subtract()方法,傳入可迭代對象或映射。
3. 更新Counter(),傳入可迭代對象或映射,相同鍵的值相加。
4. Counter間的數學集合操作,如並集、交集和差集。
實例:文本詞頻統計。
在電商數據分析中,可以使用Counter()來構建用戶-行為-購買轉化率視圖,如瀏覽、加購、刪除、購買、收藏、點擊等行為,並統計轉化率。在電商數據分析場景中,需要對數據進行分組聚合操作,使用groupby()函數對數據進行分組,並應用自定義函數來計算所需指標,如add_user_type_count()方法。
源碼實現中,使用Counter()統計各行為類別對應的次數,並將結果合並到原始數據框中,為後續數據分析提供基礎。
更多詳細代碼和源碼參考:
Python Counter()計數工具
Python Counter()的實現