用Python標記資料出現次數 超快 coutif(B$1:B1,B1)
阿新 • • 發佈:2020-12-19
目的:標記資料第幾次出現
在工作中,會經常遇到需要標記資料第幾次出現的情況,
之前我用Excel時 公式是這樣寫的【=count($b$1:b1,b1)】然後下拉,但是資料量超過20萬,就要等10分鐘以上。
於是我用python的for迴圈測試20萬資料,每想到還是很慢,要5分鐘左右。
但是我不甘心,我利用當時在表格中的技巧,寫在python中,沒想到1秒就完成了,
我又測試了一下 2 0,000,000行,15秒完成,真是太高興了
標記後的資料是這樣的
工作中經常有這樣的需求,但是資料量大用Excel做很慢
既然學了Python就總想把Excel中的功能實現以下
# 最後太慢了,放棄了,這方法誰都會要求不高就用這個就行了
import numpy as np
import pandas as pd
from collections import defaultdict, Counter
import time
al = pd.DataFrame(np.random.randint(10,size=20))[0].tolist()
al = pd.DataFrame(np.random.randint(10,size=2000000))
al
start = time.time()
n=0
ll=[]
lls=[]
for i in al[0]:
ll. append(i)
lls.append(ll.count(i))
endtime = time.time() - start
endtime
lls
2 0,000,000 資料的標記,只要 【15秒】
方法最重要