蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁 >關(guān)于奇酷 > 行業(yè)動態(tài) > qiku教你:如何運用Python編程處理大數(shù)據(jù)

qiku教你:如何運用Python編程處理大數(shù)據(jù)

來源:奇酷教育 發(fā)表于:

奇酷教育-Python培訓(xùn)_Python教程_Python基礎(chǔ)教程

  今天qiku要分享給你的是如何運用Python編程處理大數(shù)據(jù)、用Python編程處理大數(shù)據(jù)的技巧是什么等相關(guān)內(nèi)容,感興趣的話就一起來看看吧:
  如果你有個5、6 G 大小的文件,想把文件內(nèi)容讀出來做一些處理然后存到另外的文件去,你會使用什么進行處理呢?不用在線等,給幾個錯誤示范:有人用multiprocessing 處理,但是效率非常低。于是,有人用python處理大文件還是會存在效率上的問題。因為效率只是和預(yù)期的時間有關(guān),不會報錯,報錯代表程序本身出現(xiàn)問題了~
  所以,為什么用python處理大文件總有效率問題?
  如果工作需要,立刻處理一個大文件,你需要注意兩點:
  01大型文件的讀取效率
  面對100w行的大型數(shù)據(jù),經(jīng)過測試各種文件讀取方式,得出結(jié)論:
  with open(filename,"rb") as f:
  for fLine in f:
  pass
  方式最快,100w行全遍歷2.7秒。
  基本滿足中大型文件處理效率需求。如果rb改為r,慢6倍。但是此方式處理文件,fLine為bytes類型。但是python自行斷行,仍舊能很好的以行為單位處理讀取內(nèi)容。
  02文本處理效率問題
  這里舉例ascii定長文件,因為這個也并不是分隔符文件,所以打算采用列表操作實現(xiàn)數(shù)據(jù)分割。但是問題是處理20w條數(shù)據(jù),時間急劇上升到12s。本以為是byte.decode增加了時間。遂去除decode全程bytes處理。但是發(fā)現(xiàn)效率還是很差。
  最后用最簡單方式測試,首次運行,最簡單方式也要7.5秒100w次。
  想知道這個方式處理的完整代碼是什么嗎?掃描文末二維碼,聯(lián)系小編可以獲取哦~
  那么關(guān)于python處理大文件的技巧,從網(wǎng)絡(luò)整理三點:列表、文件屬性、字典三個點來看看。
  1.列表處理
  def fun(x):盡量選擇集合、字典數(shù)據(jù)類型,千萬不要選擇列表,列表的查詢速度會超級慢,同樣的,在已經(jīng)使用集合或字典的情況下,不要再轉(zhuǎn)化成列表進行操作,比如:
  values_count = 0
  # 不要用這種的
  if values in dict.values():
  values_count += 1
  # 盡量用這種的
  if keys,values in dict:
  values_count += 1
  后者的速度會比前者快好多好多。
  2. 對于文件屬性
  如果遇到某個文件,其中有屬性相同的,但又不能進行去重操作,沒有辦法使用集合或字典時,可以增加屬性,比如將原數(shù)據(jù)重新映射出一列計數(shù)屬性,讓每一條屬性具有唯一性,從而可以用字典或集合處理:
  return '(' + str(x) + ', 1)'
  list(map(fun,[1,2,3]))
  使用map函數(shù)將多個相同屬性增加不同項。
  3. 對于字典
  多使用iteritems()少使用items(),iteritems()返回迭代器:
  >>> d = {'a':1,'b':2}
  >>> for i in d.items() :
  ....    print i
  ('a',1)
  ('b',2)
  >>> for k,v in d.iteritems() :
  ...     print k,v
  ('a',1)
  ('b',2)
  字典的items函數(shù)返回的是鍵值對的元組的列表,而iteritems使用的是鍵值對的generator,items當(dāng)使用時會調(diào)用整個列表 iteritems當(dāng)使用時只會調(diào)用值。
  除了以下5個python使用模塊,你還有什么技巧解決大文件運行效率的問題嗎?掃一掃來和我們一起交流,深入了解更多Python實用模塊,快速提升工作效率~
  1. 讀寫文件技術(shù),今后會用到測試數(shù)據(jù)的參數(shù)化和測試報告寫作功能中~
  2. 數(shù)據(jù)處理技術(shù),今后測試腳本的測試數(shù)據(jù)處理過程可以用到~
  3. 數(shù)據(jù)統(tǒng)計分析技術(shù),今后會在測試結(jié)果分析中用到
  4. 圖表展示技術(shù),在今后的測試框架中相關(guān)測試報告會用到
  5. 程序自動觸發(fā)技術(shù),可用于測試腳本程序的自動執(zhí)行。
  以上就是qiku為大家分享的“qiku教你:如何運用Python編程處理大數(shù)據(jù)”謝謝大家觀看,如果對Python感興趣的話,想學(xué)Python培訓(xùn)的,也可以在線咨詢,我們將竭誠為你解答。
普宁市| 台南市| 贡觉县| 高台县| 三门峡市| 兴安盟| 庄浪县| 革吉县| 临沧市| 剑阁县| 天水市| 满洲里市| 兴化市| 海阳市| 鹿邑县| 分宜县| 永济市| 阜城县| 营口市| 黎川县| 齐齐哈尔市| 天等县| 陕西省| 郁南县| 淄博市| 鹿泉市| 黄山市| 沂南县| 沧州市| 延寿县| 叙永县| 抚远县| 时尚| 通山县| 册亨县| 商南县| 夹江县| 扶绥县| 平泉县| 岳池县| 徐闻县|