python 計數方法小結

2021-08-19 03:15:16 字數 1420 閱讀 4533

在專案中經常會遇見需要計數的情況,最近在看《利用python進行資料分析》這裡面提到了三個計數方法:

方法一: 遍曆法

def

get_counts

(sequence):

counts = {}

for x in sequence:

if x in counts:

counts[x] += 1

else:

counts[x] = 1

return counts

這是最常規的方法,乙個乙個數咯

方法二: defaultdict

這裡用到了coollections 庫

from collections import defaultdict

defget_counts2

(sequence):

counts = defaultdict(int) #所有值被初始化為0

for x in sequence:

counts[x] += 1

return counts

最後得到的是 元素:個數 的乙個字典

方法三:value_counts()

這個方法是pandas 中的 ,所以使用時候需要先導入pandas ,該方法會對元素計數,並按從大到小的順序排列

tz_counts = frame['tz'].value_counts()

tz_counts[:10]

>>>

america/new_york 1251

521america/chicago 400

america/los_angeles 382

america/denver 191

europe/london 74

asia/tokyo 37

pacific/honolulu 36

europe/madrid 35

america/sao_paulo 33

name: tz, dtype: int64

我們看一下官方文件中的說明

series.value_counts(normalize=false, sort=true, ascending=false, bins=none, dropna=true)[source]¶

returns object containing counts of unique values.

這裡說明一下返回的資料是series 格式的

總的來說 方法一最為普通 如果資料量比較大的話 非常費時間 ,方法三對資料的格式有要求 ,所以推薦使用方法二

計數dp小結

序 除了剛開始的看了幾道題的題解,後來也自己肛出了幾道 剩下不可做的題不也沒做嗎 這些題目最大的特點是在於需要自己構造狀態,這往往會成為一道題的最大卡點 窮舉表示水不到幾分 題目選講 e 如果直接模擬,複雜度為k n2既然每一步只能往上下或往左右走,那麼我們可以把題目分解為在x軸上行走k步與在y軸上...

python小結 python小結

c python33新增到你的path 環境變數中,你可以在dos 視窗中 輸入以下命令 set path path c python33 id 方法的返回值就是物件的記憶體位址。在 行 首行 後插入至少一行特殊的注釋行來定義原始檔的編碼。coding encoding sys.modules 模組...

python計數排序 Python 計數排序

1.python coding utf 8 def counting sort a,b,k 計數排序,偽碼如下 counting sort a,b,k 1 for i 0 to k 初始化儲存區的值 2 do c i 0 3 for j 1 to length a 為各值計數 4 do c a j ...