小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

 老三的休閑書屋 2021-04-10

讓我們來做這樣一個處理,如果某一列的值小于.5就把值統(tǒng)一替換為0,否則就替換為100.

原創(chuàng)不易,喜歡就轉(zhuǎn)發(fā)和給個贊吧

首先創(chuàng)建一個dataframe:

import pandas as pdimport numpy as npimport timedf = pd.DataFrame(np.random.rand(100000, 4), columns=['A', 'B', 'C', 'D'])print(df)

數(shù)據(jù)輸出如下:

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

第一種方法:iterrows()

總共耗時8.12秒,iterrows()遍歷確實比較慢,讓人等得著急啊!

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

第二種方法:iloc

總共耗時2.76秒,是iterrows的2.9倍,速度提高了很多。

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

第三種方法:apply函數(shù)

總共耗時52.2毫秒,是iterrows的155倍。

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

第四種方法:numpy的where, 使用前先導(dǎo)入numpy.

總共耗時778微秒,處理速度是iterrows的10437倍,快到讓人不敢相信。

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

本人覺得這個速度已經(jīng)達到極致了,那還有沒有更快的方法呢?那我們在用numpy的where(.values)來看看,結(jié)果簡直不可思議只用了426微妙,速度快的離奇,處理速度是iterrows的一萬九千都倍。

Python 代碼優(yōu)化,讓你的Pandas速度飛起來

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多