import time
為閬中等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及閬中網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站設計、閬中網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
def time_me(fn):
def _wrapper(*args, **kwargs):
start = time.clock()
fn(*args, **kwargs)
print "%s cost %s second"%(fn.__name__, time.clock() - start)
return _wrapper
#這個裝飾器可以在方便地統(tǒng)計函數(shù)運行的耗時。
#用來分析腳本的性能是最好不過了。
#這樣用:
@time_me
def test(x, y):
time.sleep(0.1)
@time_me
def test2(x):
time.sleep(0.2)
test(1, 2)
test2(2)
#輸出:
#test cost 0.1001529524 second
#test2 cost 0.199968431742 second
Python:
Python(英語發(fā)音:/?pa?θ?n/), 是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設計語言,由Guido van Rossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。
Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議[1] 。
Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現(xiàn)。
統(tǒng)計一個列表中每一個元素的個數(shù)在Python里有兩種實現(xiàn)方式,
第一種是新建一個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}
之中用到了一個小技巧,當dict中不還沒有統(tǒng)計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設置索引不存在的鍵時返回0。
第二種是使用Python內(nèi)置的函數(shù)。統(tǒng)計元素的個數(shù)是一種非常常見的操作,Python的collection包里已經(jīng)有一個Counter的類,大致實現(xiàn)了上面的功能。
from?collections?import?Counter
items?=?["cc","cc","ct","ct","ac"]
count?=?Counter(items)
print(count)
#Counter({'ct':?2,?'cc':?2,?'ac':?1})
以下代碼的功能是 統(tǒ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ù)字計算進去;但是錯誤值、空值、邏輯值、日期、文字則被忽略。
如果參數(shù)是一個數(shù)組或引用,那么只統(tǒng)計數(shù)組或引用中的數(shù)字;數(shù)組中或引用的空單元格、邏輯值、文字或錯誤值都將忽略。如果要統(tǒng)計邏輯值、文字或錯誤值,請使用函數(shù)COUNTA(COUNTIF按EXCEL的說明也行,但常出毛?。?/p>
排序過程
假設輸入的線性表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ù)排序
value_counts是一種查看表格某列中有多少個不同值的快捷方法,并計算每個不同值有在該列中個數(shù),類似Excel里面的count函數(shù)
其是pandas下面的頂層函數(shù),也可以作用在Series、DataFrame下
常規(guī)用法:
pandas 的 value_counts() 函數(shù)可以對Series里面的每個值進行計數(shù) 并且 排序,默認是降序
可以看出,既可以對分類變量統(tǒng)計,也可以對連續(xù)數(shù)值變量統(tǒng)計
如果是要對結(jié)果升序排列,可以添加 ascending=True 來改變
如果不想看統(tǒng)計的個數(shù),而是想看占比,那么可以設置 normalize=True 即可,結(jié)果是小數(shù)形式
可以通過apply,對每一列變量進行統(tǒng)計
以上是自己實踐中遇到的一些點,分享出來供大家參考學習,歡迎關注DataShare公眾號
分享題目:統(tǒng)計計數(shù)函數(shù)python 統(tǒng)計計數(shù)函數(shù)
網(wǎng)站路徑:http://muchs.cn/article32/docoesc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站建設、品牌網(wǎng)站建設、移動網(wǎng)站建設、面包屑導航、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)