精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析哪種更快?

新聞 大數(shù)據(jù)
用Python和Pandas進行數(shù)據(jù)分析,很快就會用到循環(huán)。但在這其中,就算是較小的DataFrame,使用標(biāo)準(zhǔn)循環(huán)也比較耗時。

本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

用Python和Pandas進行數(shù)據(jù)分析,很快就會用到循環(huán)。

但在這其中,就算是較小的DataFrame,使用標(biāo)準(zhǔn)循環(huán)也比較耗時。

遇到較大的DataFrame時,需要的時間會更長,會讓人更加頭疼。

現(xiàn)在,有人忍不了了。他是一位來自德國的數(shù)據(jù)分析師,名叫Benedikt Droste。

他說,當(dāng)自己花了大半個小時等待代碼執(zhí)行的時候,決定尋找速度更快的替代方案。

在給出的替代方案中,使用Numpy向量化,與使用標(biāo)準(zhǔn)循環(huán)相比,速度提升了71803倍。

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

他是怎么實現(xiàn)的?我們一起來看看~

標(biāo)準(zhǔn)循環(huán)處理3年足球賽數(shù)據(jù):20.7秒

DataFrame是具有行和列的Pandas對象。如果使用循環(huán),需要遍歷整個對象。

Python不能利用任何內(nèi)置函數(shù),而且速度很慢。在Benedikt Droste的提供的示例中,是一個包含65列和1140行的Dataframe,包含了2016-2019賽季的足球賽結(jié)果。

需要解決的問題是:創(chuàng)建一個新的列,用于指示某個特定的隊是否打了平局。可以這樣開始:

  1. def soc_loop(leaguedf,TEAM,): 
  2.  leaguedf['Draws'] = 99999 
  3.  for row in range(0, len(leaguedf)): 
  4.  if ((leaguedf['HomeTeam'].iloc[row] == TEAM) & (leaguedf['FTR'].iloc[row] == 'D')) | \ 
  5.  ((leaguedf['AwayTeam'].iloc[row] == TEAM) & (leaguedf['FTR'].iloc[row] == 'D')): 
  6.  leaguedf['Draws'].iloc[row] = 'Draw' 
  7.  elif ((leaguedf['HomeTeam'].iloc[row] == TEAM) & (leaguedf['FTR'].iloc[row] != 'D')) | \ 
  8.  ((leaguedf['AwayTeam'].iloc[row] == TEAM) & (leaguedf['FTR'].iloc[row] != 'D')): 
  9.  leaguedf['Draws'].iloc[row] = 'No_Draw' 
  10.  else
  11.  leaguedf['Draws'].iloc[row] = 'No_Game' 
Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

在這個案例中是阿森納,在實現(xiàn)目標(biāo)之前要確認(rèn)阿森納參加了哪些場比賽,是主隊還是客隊。但使用標(biāo)準(zhǔn)循環(huán)非常慢,執(zhí)行時間為20.7秒。

那么,怎么才能更有效率?

Pandas 內(nèi)置函數(shù): iterrows ()ー快321倍

在第一個示例中,循環(huán)遍歷了整個DataFrame。iterrows()為每一行返回一個Series,它以索引對的形式遍歷DataFrame,以Series的形式遍歷感興趣的列。這使得它比標(biāo)準(zhǔn)循環(huán)更快:

  1. def soc_iter(TEAM,home,away,ftr): 
  2.  #team, row['HomeTeam'], row['AwayTeam'], row['FTR'
  3.  if [((home == TEAM) & (ftr == 'D')) | ((away == TEAM) & (ftr == 'D'))]: 
  4.  result = 'Draw' 
  5.  elif [((home == TEAM) & (ftr != 'D')) | ((away == TEAM) & (ftr != 'D'))]: 
  6.  result = 'No_Draw' 
  7.  else
  8.  result = 'No_Game' 
  9.  return result 
Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

代碼運行時間為68毫秒,比標(biāo)準(zhǔn)循環(huán)快321倍。但是,許多人建議不要使用它,因為仍然有更快的選項,而且iterrows()不能跨行保存dtype。

這意味著,如果你在DataFrame dtypes上使用iterrows(),可以更改它,但這會導(dǎo)致很多問題。

一定要保存dtypes的話,你還可以使用itertuples()。這里我們不詳細(xì)討論 ,你可以在這里找到官方文件:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.itertuples.html

apply ()方法ー快811倍

apply 本身并不快,但與DataFrame結(jié)合使用時,它具有優(yōu)勢。這取決于 apply 表達(dá)式的內(nèi)容。如果可以在 Cython 空間中執(zhí)行,那么apply要快得多,這里的示例就是這種情況。

大家可以在Lambda函數(shù)中使用apply。所要做的就是指定這個軸。在本文的示例中,想要執(zhí)行按列操作,要使用 axis 1:

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

這段代碼甚至比之前的方法更快,完成時間為27毫秒。

Pandas向量化—快9280倍

此外,也可以利用向量化的優(yōu)點來創(chuàng)建非常快的代碼。

重點是避免像之前的示例中的Python級循環(huán),并使用優(yōu)化后的C語言代碼,這將更有效地使用內(nèi)存。只需要稍微修改一下函數(shù):

  1. def soc_iter(TEAM,home,away,ftr): 
  2.  df['Draws'] = 'No_Game' 
  3.  df.loc[((home == TEAM) & (ftr == 'D')) | ((away == TEAM) & (ftr == 'D')), 'Draws'] = 'Draw' 
  4.  df.loc[((home == TEAM) & (ftr != 'D')) | ((away == TEAM) & (ftr != 'D')), 'Draws'] = 'No_Draw' 

現(xiàn)在,可以用 Pandas 列作為輸入創(chuàng)建新列:

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

在這種情況下,甚至不需要循環(huán)。所要做的就是調(diào)整函數(shù)的內(nèi)容。現(xiàn)可以直接將Pandas 列傳遞給函數(shù),從而獲得巨大的速度增益。

Numpy向量化—快71803倍

在上面的示例中,將將Pandas 列傳遞給函數(shù)。通過添加.values,可以得到一個Numpy數(shù)組:

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

因為引用了局部性的好處,Numpy數(shù)組的速度非常快,代碼運行時間僅為0.305毫秒,比一開始使用的標(biāo)準(zhǔn)循環(huán)快71803倍。

誰更強一目了然

最后,Benedikt Droste對上述方案進行了總結(jié)。

他說,如果你使用Python、Pandas和Numpy進行數(shù)據(jù)分析,總會有改進代碼的空間。

在對上述五種方法進行比較之后,哪個更快一目了然:

Pandas循環(huán)提速7萬多倍!Python數(shù)據(jù)分析攻略

從這個圖中,可以得出兩個結(jié)論:

1、如果要使用循環(huán),則應(yīng)始終選擇apply方法。

2、否則,使用向量化是最好的,因為它更快!

 

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2025-07-09 07:50:00

2025-07-14 07:21:00

Pandas數(shù)據(jù)分析Python

2025-07-18 07:59:56

2023-12-10 14:06:04

數(shù)據(jù)庫pythonduckdb

2021-02-17 13:20:51

forpandas語言

2020-06-05 14:29:07

PythonPandas數(shù)據(jù)分析

2024-01-09 13:58:22

PandasPython數(shù)據(jù)分析

2017-09-01 09:52:20

PythonPandas數(shù)據(jù)分析

2023-11-21 09:11:31

2022-11-11 11:35:14

2023-01-28 10:09:00

Pandas數(shù)據(jù)分析Python

2020-04-21 10:11:03

Python數(shù)據(jù)分析Pandas

2024-04-09 08:47:34

PandasRollingPython

2022-08-16 16:00:05

Python

2022-06-21 15:00:01

Python語言循環(huán)方式

2025-11-11 09:11:57

2019-11-04 15:00:01

DatatableR語言數(shù)據(jù)科學(xué)

2021-12-24 10:45:19

PandasLambda數(shù)據(jù)分析

2022-07-08 06:01:37

D-Tale輔助工具

2020-07-07 14:35:41

Python數(shù)據(jù)分析命令
點贊
收藏

51CTO技術(shù)棧公眾號

视频一区二区三| 91av在线网站| 在线播放av网址| www.youjizz.com在线| www久久久久| 国产免费久久av| 日韩一区二区三区四区在线| 黑人久久a级毛片免费观看| 色综合久久久网| 在线观看国产一区| 天天射天天色天天干| 日韩不卡一二三区| 久久综合久久美利坚合众国| av2014天堂网| av在线精品| 欧美视频在线视频| 国产卡一卡二在线| 九色在线播放| 国产激情视频一区二区三区欧美 | 久久久久久久久99精品大| 日韩三级视频在线观看| 国产成人精品无码播放| 日本在线视频www鲁啊鲁| 国产午夜亚洲精品理论片色戒 | 欧美日韩看看2015永久免费| 欧美电影一区二区三区| 国产福利视频在线播放| 色yeye免费人成网站在线观看| 久久精品在线免费观看| 国产视频一区二区不卡| 国产jzjzjz丝袜老师水多| 视频一区二区三区在线| 海角国产乱辈乱精品视频| 激情高潮到大叫狂喷水| 国产欧美高清视频在线| 亚洲成人精品视频| 精品人妻一区二区三| 成人亚洲综合| 91成人国产精品| 日本免费不卡一区二区| 动漫一区二区| 亚洲精选在线视频| 国产又爽又黄ai换脸| 大乳在线免费观看| 久久日一线二线三线suv| 国产精品精品软件视频| 国产精品久久久久久久久久久久久久久久久久 | gogogo免费高清日本写真| 国产特黄在线| 久久久精品黄色| 久久久久久久免费| 网站黄在线观看| 成人高清在线视频| 国产精品一区二区不卡视频| 亚洲AV无码精品国产| 国产精品456| 99国精产品一二二线| 国产黄a三级三级三级| 国产在线麻豆精品观看| 91色精品视频在线| a在线观看免费| 国产精品一区一区三区| 99久久自偷自偷国产精品不卡| 99国产精品欲| 国产高清不卡二三区| 国产精品日韩欧美一区二区三区 | 日韩成人免费在线视频| 亚洲二区精品| 热久久视久久精品18亚洲精品| 国产精品久久久久久久久久久久久久久久久 | 日本久久二区| 欧美精品在线一区二区| 青娱乐精品在线| 盗摄系列偷拍视频精品tp| 日韩电影在线观看中文字幕| 加勒比一区二区| 成人av国产| 波霸ol色综合久久| 神马午夜精品91| 在线播放日韩| 国产成人极品视频| 国产人妻精品一区二区三| 成人在线视频一区| 欧洲亚洲一区二区| 免费黄色电影在线观看| 一区二区欧美在线观看| 欧美a在线视频| 嫩草伊人久久精品少妇av杨幂| 欧美日韩精品一区二区天天拍小说| 日本网站在线看| 视频精品国内| 日韩国产高清污视频在线观看| 一道本在线观看| 亚洲国产一成人久久精品| 国产69精品久久久| 在线观看免费视频a| 国产精品1024| 手机看片福利永久国产日韩| 91cn在线观看| 色噜噜偷拍精品综合在线| 999热精品视频| 国产精品探花在线观看| 麻豆一区二区在线观看| 99精品在线播放| 国产在线视视频有精品| 欧美成人在线免费观看| 成年人网站在线| 日韩欧美aⅴ综合网站发布| 一级做a免费视频| 欧美午夜18电影| 日韩性生活视频| 国产高清中文字幕| 国产成人av一区| 色女人综合av| 不卡视频观看| 欧美一区二区免费视频| 久久丫精品忘忧草西安产品| 欧美三区在线| 国产精品自产拍高潮在线观看| 天天干天天做天天操| 日韩美女啊v在线免费观看| av动漫在线观看| 亚洲成人黄色| 日韩在线观看精品| 国产精品免费无遮挡无码永久视频| 国产东北露脸精品视频| 一区二区精品视频| 成人软件在线观看| 亚洲国产精品资源| 久久久久国产精品夜夜夜夜夜| 久久se精品一区二区| 日韩av电影免费播放| 国产伦久视频在线观看| 日韩欧美一区在线| 老司机成人免费视频| 久久激情综合网| 视频一区二区精品| 亚洲mmav| 亚洲色图国产精品| 伊人手机在线视频| 99re6这里只有精品视频在线观看| 9191国产视频| 国产精品一区二区三区av| 日韩在线精品视频| 在线视频你懂得| 中文字幕精品一区| 网站一区二区三区| 成人高清电影网站| 国产精品一区二区3区| 国产裸舞福利在线视频合集| 色哟哟日韩精品| 人人人妻人人澡人人爽欧美一区| 亚洲男人影院| 欧美最大成人综合网| 桃子视频成人app| 亚洲天堂第二页| 日本视频免费观看| 国产精品人妖ts系列视频| 韩国视频一区二区三区| 久久国产亚洲精品| 成人h猎奇视频网站| 国产三级在线播放| 日韩欧美国产成人一区二区| 国语对白一区二区| 久久亚洲一区二区三区四区| 成人羞羞国产免费网站| 欧美美女一区| 成人女保姆的销魂服务| 视频在线观看入口黄最新永久免费国产| 日韩欧美一区二区在线视频| 精品91久久久| 国产午夜三级一区二区三| 奇米视频888| 欧美日韩91| 久久久久久久久一区二区| 亚洲www啪成人一区二区| www.日韩不卡电影av| 精品国产99久久久久久宅男i| 亚洲一级片在线观看| 一区二区三区少妇| 蜜乳av一区二区三区| 日本道在线视频| 成人自拍在线| 日韩免费观看视频| av毛片在线免费看| 日韩电视剧在线观看免费网站 | 日韩久久精品一区| 久久久久久久久久免费视频| 亚洲国产成人一区二区三区| 亚洲精品久久久久久| 午夜宅男久久久| 亚洲人成77777| 538任你躁精品视频网免费| 国产91九色视频| 成人在线视频亚洲| 亚洲欧洲免费视频| va视频在线观看| 色综合久久久久综合| 国产大学生自拍| 国产性做久久久久久| 中文字幕第三区| 日韩国产高清视频在线| 日本精品一区二区| 精品无人乱码一区二区三区 | 性生活免费在线观看| 国产一区视频在线观看免费| 欧美视频观看一区| 香蕉免费一区二区三区在线观看 | 日本一区二区免费高清视频| 红杏视频成人| 成人午夜一级二级三级| 国模套图日韩精品一区二区| 欧美成人性生活| gogogo高清在线观看免费完整版| 亚洲成人av片| 国产美女免费视频| 在线观看一区不卡| 欧美 日韩 精品| 亚洲综合色丁香婷婷六月图片| 卡一卡二卡三在线观看| 99久久综合国产精品| 美女被艹视频网站| 精品亚洲欧美一区| 天天爱天天操天天干| 欧美一级二区| 波多野结衣家庭教师在线| 国产精品观看| 91九色国产ts另类人妖| 欧美电影三区| 日韩在线三级| 不卡在线一区| 日韩aⅴ视频一区二区三区| 亚洲精品推荐| 国产嫩草一区二区三区在线观看| 日韩在线观看中文字幕| 亚洲自拍偷拍一区| 免费一区二区三区四区| 国产精品国语对白| 嫩草伊人久久精品少妇av杨幂| 日韩美女写真福利在线观看| 91精品论坛| 欧洲成人性视频| 亚洲精品中文字幕| 欧美专区国产专区| 中文字幕在线视频久| 国产专区综合网| 妞干网在线视频观看| 狠狠爱成人网| 久久久久久免费看| 日韩视频一区| 黄色动漫在线免费看| 国产日韩欧美一区在线 | 老司机一区二区三区| 日本wwww视频| 老牛影视一区二区三区| 黄色免费网址大全| 久久综合综合久久综合| 九九九九九国产| 国产精品99久久久| 美女黄色一级视频| 91久色porny| 老熟妇一区二区| 国产精品素人视频| 国产精品白丝喷水在线观看| 怡红院av一区二区三区| 国产无码精品视频| 色综合久久久久综合体| 亚洲一级av毛片| 日韩欧美三级在线| 天堂在线视频网站| 国产亚洲免费的视频看| 浪潮av一区| 久久久久国色av免费观看性色| 不卡av免费观看| 日本不卡免费高清视频| 国产毛片精品久久| 2019国产精品视频| 久久这里只有精品一区二区| 日本高清久久一区二区三区| 亚洲国产精品综合久久久| 成熟丰满熟妇高潮xxxxx视频| 天堂一区二区在线免费观看| 毛片毛片毛片毛| 菠萝蜜视频在线观看一区| 天天躁日日躁aaaa视频| 亚洲美女在线国产| 亚洲va在线观看| 9191成人精品久久| 日韩精品福利| 久久久精品在线| 青青青免费在线视频| 成人久久久久久| 蜜桃一区二区| 蜜臀av性久久久久蜜臀av| 欧美专区在线| 人妻换人妻仑乱| 日本一区二区免费在线| 国产污视频在线看| 欧美日韩综合不卡| 天天操天天操天天| 久久久精品免费| 欧美性猛交xxx高清大费中文| 91成人免费观看| 第一会所亚洲原创| 91国视频在线| 国产一区高清在线| 精品丰满少妇一区二区三区| 亚洲成人www| 国产又粗又猛又爽| 亚洲性生活视频| 麻豆免费在线| 成人免费观看网站| 99精品在线免费在线观看| 国产中文字幕视频在线观看| 国产精品系列在线观看| 久久精品国产亚洲AV成人婷婷| 懂色av影视一区二区三区| jizz国产视频| 久久综合电影一区| 亚洲精品毛片| 日本视频一区在线观看| 国产欧美精品| 亚洲图片欧美另类| 亚洲精品久久嫩草网站秘色| 中文天堂在线资源| 亚洲欧美日韩中文在线制服| 国产资源在线观看入口av| 91福利入口| 午夜国产一区| 亚洲天堂一区二区在线观看| 中文字幕一区二区三区在线不卡| 国产女主播喷水视频在线观看 | 亚洲乱码在线| 小明看看成人免费视频| 国产精品婷婷午夜在线观看| www.com亚洲| 国产亚洲精品久久久| se01亚洲视频| 日韩精品大片| 日韩精品1区2区3区| 中文字幕免费视频| 色综合中文综合网| 黄色片在线免费看| 国产精品第8页| 欧美色图国产精品| 日韩欧美xxxx| 国产精品情趣视频| 一级黄色片在线播放| 久久天天躁狠狠躁夜夜躁| 国产一区二区三区视频在线| 亚洲小说欧美另类激情| 国产精品自拍网站| 久久综合亚洲色hezyo国产| 精品国产乱码久久久久久久久| 久久av色综合| 国产在线一区二区三区四区| 国产精品日本欧美一区二区三区| 97人妻精品一区二区三区免| 欧美视频在线免费| 二区三区在线| 成人国产精品一区| 欧美午夜在线视频| 伊人网综合视频| 一本色道久久综合亚洲精品按摩| seseavlu视频在线| 成人网中文字幕| 在线播放一区| 手机免费看av| 91精品国产aⅴ一区二区| 肉肉视频在线观看| 免费久久久一本精品久久区| 免费亚洲电影在线| 麻豆精品一区二区三区视频| 亚洲国产黄色片| 少妇精品视频一区二区免费看| 中文字幕一区二区三区有限公司| 高清不卡在线观看av| 老熟妇仑乱一区二区av| 日韩在线视频导航| 北条麻妃一区二区三区在线| 漂亮人妻被中出中文字幕| 国产精品久久久久久久久免费桃花| av小说天堂网| 欧美一区三区三区高中清蜜桃| 日韩精品久久| 人妻 丝袜美腿 中文字幕| 在线影视一区二区三区| jizz性欧美| 欧美日韩一区二| 国产在线精品一区二区三区不卡| 日韩伦理在线视频| 日韩在线精品视频| 欧美一级色片| 天堂中文av在线| 色综合久久九月婷婷色综合| 97超碰在线公开在线看免费| 欧洲一区二区日韩在线视频观看免费| 国产精品一区二区免费不卡 | 777xxx欧美| 亚洲十八**毛片|