【Pandas】Pandas求某列字符串的長度,總結經驗教訓


測試集大小:

test.shape
(898, 11) 

 

對某列的字符串做統計長度
1、for遍歷法:
start = time.time()
for i in test.index.values:
test.loc[i,'contentLen1'] = len(test.loc[i,'content'])
time.time() - start
 47.16238021850586

 

2、使用pandas的內置方法.str
%time test['contentLen2'] = test['content'].str.len()
Wall time: 61 ms 
 

 

結論
上面例子可以得出,使用pandas時千萬不要盲目的使用for遍歷,要學會使用pandas提供的內置方法。

for和.str方法之間的性能差距過大,不在一個數量級。使用for會造成頻繁的賦值操作,造成不必要內存消耗和計算時長。

以上測試用例才898行,for的賦值耗時高達47秒,生產上的都是幾百萬行的數據,使用for那不就直接涼涼了?

且行且珍惜啊!
---------------------
作者:ChenVast
來源:CSDN
原文:https://blog.csdn.net/chenvast/article/details/82758281
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM