国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python 列表篩選數(shù)據(jù)詳解

Python 列表篩選數(shù)據(jù)詳解

2022-03-03 00:08陳年椰子 Python

這篇文章主要為大家介紹了Python 列表篩選數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

在做數(shù)據(jù)處理中,常會(huì)遇到列表篩選,比如有以下兩個(gè)列表:

Python 列表篩選數(shù)據(jù)詳解

Python 列表篩選數(shù)據(jù)詳解

根據(jù)上列表中的KEY1 , 篩選下列表的數(shù)據(jù),也就是標(biāo)黃的數(shù)據(jù)。數(shù)量不大的情況,一般就是遍歷比較,邏輯簡(jiǎn)單,幾行代碼搞掂。

但如果列表達(dá)到萬,或者百萬、千萬,那遍歷效率就低了。

先構(gòu)造測(cè)試的列表。

# 構(gòu)造篩選目標(biāo)列表,確保KEY不重復(fù)
n1 = 30000
n1_set = set([random.randint(1,n1)  for n in range(n1)])
n1 = len(n1_set)
list1 = [['1108{:0>6d}27'.format(n), "".join(random.sample('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',10))] for n in n1_set]
# 構(gòu)造待篩選數(shù)據(jù)列表,確保KEY不重復(fù)
n2 = 100000
n2_set = set([random.randint(1,n2)  for n in range(n2)])
n2= len(n2_set)
list2 = [['1108{:0>6d}27'.format(n), "".join(random.sample('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',5)),n ] for n in n2_set]

比較遍歷、列表生成式+filter 、pandas 的 merge 三種方法效率。

篩選目標(biāo)18971條, 待處理數(shù)據(jù)63275條
遍歷生成數(shù)據(jù) 耗時(shí)11.591秒 獲得數(shù)據(jù)量 12024
['11080000427', 'eArVD', 4]
filter 耗時(shí)11.5秒 獲得數(shù)據(jù)量 12024
['11080000427', 'eArVD', 4]
merge 耗時(shí)0.058秒 獲得數(shù)據(jù)量 12024
['11080000427', 'eArVD', 4]
篩選目標(biāo)189733條, 待處理數(shù)據(jù)632363條
遍歷生成數(shù)據(jù) 耗時(shí)1597.4296秒 獲得數(shù)據(jù)量 120180
['1108000000227', 'NkoEQ', 2]
filter 耗時(shí)1575.0432秒 獲得數(shù)據(jù)量 120180
['1108000000227', 'NkoEQ', 2]
merge 耗時(shí)0.64秒 獲得數(shù)據(jù)量 120180
['1108000000227', 'NkoEQ', 2]

經(jīng)過比較, 直接遍歷生成和列表生成式+filter的效率基本一致, pandas 的merge 效率最高。適合大批量數(shù)據(jù)處理。

上代碼

print("篩選目標(biāo){}條, 待處理數(shù)據(jù){}條".format(n1,n2))
# 直接遍歷生成數(shù)據(jù),計(jì)時(shí)
t1 = time.time()
list_temp = [n[0] for n in list1]
list3 = []
for n in list2:
  if n[0] in list_temp:
      list3.append(n)
t2 = time.time()
print("遍歷生成數(shù)據(jù) 耗時(shí){}秒".format(round(t2 - t1, 4)), "獲得數(shù)據(jù)量", len(list3))
print(list3[0])
# 用filter篩選數(shù)據(jù),計(jì)時(shí)
t1 = time.time()
list_temp = [n[0] for n in list1]
list3 = [n for n in filter(lambda x: x[0] in list_temp, list2)]
t2 = time.time()
print("filter 耗時(shí){}秒".format(round(t2 - t1,4)), "獲得數(shù)據(jù)量", len(list3))
print(list3[0])
# 用pd.merge 篩選數(shù)據(jù),計(jì)時(shí)
t1 = time.time()
df1 = pd.DataFrame(list1, columns=['k1','m1'])
df2 = pd.DataFrame(list2, columns=['k1','m2','n2'])
df3 = pd.merge(df1[['k1']], df2, how='inner', on='k1')
t2 = time.time()
print("merge 耗時(shí){}秒".format(round(t2 - t1,4)), "獲得數(shù)據(jù)量", len(df3))
print(list(df3.iloc[0]))

 

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!

原文鏈接:https://blog.csdn.net/seakingx/article/details/121372515

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人综合久久 | 成人免费视频网址 | 亚洲精品久久久久久久久久久 | 亚洲精品国产一区 | 日日夜夜精品视频 | 亚洲午夜一区 | 亚洲精品一区二区三区蜜桃久 | 国内精品视频 | 国产精品久久久久国产精品 | 午夜av毛片 | 久久久999成人 | 成人免费视频视频在线观看 免费 | 色片在线观看 | 毛片a级毛片免费 | 日韩精品影视 | 午夜精品福利在线观看 | 永久91嫩草亚洲精品人人 | 日韩视频在线免费观看 | 九色91九色porny永久 | 日韩午夜电影 | 一级毛片免费完整视频 | 成人久久久久久久久 | 久久久免费电影 | 国产精品视频成人 | 午夜私人影院在线观看 | 欧美中文| 91视视频在线观看入口直接观看 | 久久窝| 精品久| 高清免费av| 毛片在线免费观看网站 | 精品视频网站 | 99视频在线 | 国产一区二| 久久久一区二区 | 亚洲毛片在线观看 | 久久国产精品久久久久久电车 | 欧美日韩成人在线视频 | 亚洲情视频| 免费一级毛片 | 精品国产一区二区三区日日嗨 |