照例答案写在开头
为什么sum要换成join?
因为join 速度比sum快好几倍!!如果你是对自己代码运行效率有追求的话,建议换换~
下面实际操作一下,看看结果怎么样
import pandas as pd from time import time df = pd.DataFrame(zip(range(1000000),
['test']*1000000),columns=['a','b']) df['c'] = df.apply(lambda x: str(x.a)[-1],
axis=1) start = time() for i in range(10): data = df[['b','c']].groupby('c',
as_index=False).sum() print('sum Time: {:5.2f}s'.format(time() - start)) def
is_join(data_df): res_str = "".join(map(str, list(data_df))) return res_str
start= time() for i in range(10): data = df[['b', 'c']].groupby('c', as_index=
False).agg(is_join)
建了一个100w行的df进行数据的测试
测试结果如下

可以看到用join函数对字符串进行相加要比直接sum快的多,将近20倍
在数据量大的时候效果更明显哦!

我是一只前进的蚂蚁,希望能一起前行。

如果对您有一点帮助,一个赞就够了,感谢!

注:如果本篇博客有任何错误和建议,欢迎各位指出,不胜感激!!!

技术
©2019-2020 Toolsou All rights reserved,
java实现抢红包功能TP6验证器的使用示例及正确验证数据员工网上晒腾讯年终奖:每人100股公司股票 价值超6万元!QCustomPlot系列(5)-实时动态曲线连 CEO 都不香了?这些互联网大佬接连辞任"头孢就酒 说走就走"?危险!服用这些药物千万别喝酒Python+OpenCV人脸识别技术详解蚂蚁集团董事长井贤栋安抚员工:公司终究会上市的面试的时候突然遇到答不上的问题怎么办?关于keras使用fit_generator中遇到StopIteration