統(tǒng)計一個列表中每一個元素的個數(shù)在Python里有兩種實(shí)現(xiàn)方式,
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供永福網(wǎng)站建設(shè)、永福做網(wǎng)站、永福網(wǎng)站設(shè)計、永福網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、永福企業(yè)網(wǎng)站模板建站服務(wù),10年永福做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
第一種是新建一個dict,鍵是列表中的元素,值是統(tǒng)計的個數(shù),然后遍歷list。
items?=?["cc","cc","ct","ct","ac"]
count?=?{}
for?item?in?items:
count[item]?=?count.get(item,?0)?+?1
print(count)
#{'ac':?1,?'ct':?2,?'cc':?2}
之中用到了一個小技巧,當(dāng)dict中不還沒有統(tǒng)計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設(shè)置索引不存在的鍵時返回0。
第二種是使用Python內(nèi)置的函數(shù)。統(tǒng)計元素的個數(shù)是一種非常常見的操作,Python的collection包里已經(jīng)有一個Counter的類,大致實(shí)現(xiàn)了上面的功能。
from?collections?import?Counter
items?=?["cc","cc","ct","ct","ac"]
count?=?Counter(items)
print(count)
#Counter({'ct':?2,?'cc':?2,?'ac':?1})
新建一個 如何使用科學(xué)計數(shù)法表示小數(shù).py 文件,如圖所示:
請點(diǎn)擊輸入圖片描述
設(shè)置腳本文件的編碼:# coding=gbk,如圖所示:
3.定義一個變量 f,并且賦值為:3.14,如圖所示:
4.使用科學(xué)計數(shù)法來表示3.14,并且賦值給變量 ff,如圖所示:
5.使用 print() 函數(shù)將變量 f 和變量 ff 輸出,查看兩個變量的值是否一樣,如圖所示:
6.運(yùn)行文件,可以看到兩個變量值是一樣的,證明上面所述的科學(xué)計數(shù)法是正確的,如圖所示:
value_counts是一種查看表格某列中有多少個不同值的快捷方法,并計算每個不同值有在該列中個數(shù),類似Excel里面的count函數(shù)
其是pandas下面的頂層函數(shù),也可以作用在Series、DataFrame下
常規(guī)用法:
pandas 的 value_counts() 函數(shù)可以對Series里面的每個值進(jìn)行計數(shù) 并且 排序,默認(rèn)是降序
可以看出,既可以對分類變量統(tǒng)計,也可以對連續(xù)數(shù)值變量統(tǒng)計
如果是要對結(jié)果升序排列,可以添加 ascending=True 來改變
如果不想看統(tǒng)計的個數(shù),而是想看占比,那么可以設(shè)置 normalize=True 即可,結(jié)果是小數(shù)形式
可以通過apply,對每一列變量進(jìn)行統(tǒng)計
以上是自己實(shí)踐中遇到的一些點(diǎn),分享出來供大家參考學(xué)習(xí),歡迎關(guān)注DataShare公眾號
使用條件集合{}和sum函數(shù)。即在countif()第二個參數(shù)中使用條件集合{},然后用sum()函數(shù)求滿足這些條件的計數(shù)和。criteria:為確定哪些單元格將被計算在內(nèi)的條件,其形式可以為數(shù)字、表達(dá)式、單元格引用或文本。例如,條件可以表示為 32、"32"、"32" 、"apples" 或 B4。
COUNTIF(B2:C5,{"60","90"})統(tǒng)計出大于60的人數(shù)6和大于90的人數(shù)1,即{6,1}。{6,1}與{1,-1}相乘得到{6,-1},兩者相加即得到大于60、小于90之間的人數(shù)5人。
COUNTIF函數(shù)語法:COUNTIF(range,criteria)
range:是一個或多個要計數(shù)的單元格,其中包括數(shù)字或名稱、數(shù)組或包含數(shù)字的引用。空值和文本值將被忽略。
向左轉(zhuǎn)|向右轉(zhuǎn)
以下代碼的功能是 統(tǒng)計列表中重復(fù)項(xiàng)的出現(xiàn)次數(shù)
這里面就用到了 count() 函數(shù)
mylist = ['apple', 'banana', 'grape', 'banana', 'apple', 'grape', 'grape']
myset = set(mylist)
for item in myset:
print("the %s has been found %d times" % (item, mylist.count(item)))
函數(shù)COUNT在計數(shù)時,將把數(shù)值型的數(shù)字計算進(jìn)去;但是錯誤值、空值、邏輯值、日期、文字則被忽略。
如果參數(shù)是一個數(shù)組或引用,那么只統(tǒng)計數(shù)組或引用中的數(shù)字;數(shù)組中或引用的空單元格、邏輯值、文字或錯誤值都將忽略。如果要統(tǒng)計邏輯值、文字或錯誤值,請使用函數(shù)COUNTA(COUNTIF按EXCEL的說明也行,但常出毛病)。
排序過程
假設(shè)輸入的線性表L的長度為n,L=L1,L2,..,Ln;線性表的元素屬于有限偏序集S,|S|=k且k=O(n),S={S1,S2,..Sk};則計數(shù)排序可以描述如下:
1、掃描整個集合S,對每一個Si∈S,找到在線性表L中小于等于Si的元素的個數(shù)T(Si);
2、掃描整個線性表L,對L中的每一個元素Li,將Li放在輸出線性表的第T(Li)個位置上,并將T(Li)減1。
以上內(nèi)容參考:百度百科-計數(shù)排序
當(dāng)前題目:計數(shù)函數(shù)python 計數(shù)函數(shù)統(tǒng)計文本個數(shù)
本文網(wǎng)址:http://jinyejixie.com/article30/hehipo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、企業(yè)建站、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計、虛擬主機(jī)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)