我有一行代码来填充熊猫的数据:
sessions_combined.fillna('na', inplace = True)这很好,任何空值都会被字符串'na‘替换,这正是我想要的。
然而,它是缓慢的。在我的代码的其他地方,我使用了一个更快的lambda函数,它使用可用的核心并行处理,例如:
import swifter
pages['dimension3'] = pages['dimension3'].swifter.apply(lambda x: my_custom_fun(x))这在特定的列dimension3上工作得很好。
是否有可能在整个数据帧上使用更快的?试过:
sessions_combined.swifter.apply(lambda x: fillna(x, 'na', inplace = True))NameError:未定义名称“
”
发布于 2019-12-24 16:22:59
看上去并没有提高性能。但我觉得应该是这样的:
import pandas as pd
import numpy as np
import swifter
pdf = pd.DataFrame(np.random.randint(0,100,size=(25000000, 4)),columns=list('abcd'))
pdf["pupa"] = None然后:
%%timeit
first = pdf.fillna("pupiki")输出:每环2.46s±12.8ms(平均±std )。dev.7次运行,每一次循环1次)
更快地:
%%timeit
second = pdf.swifter.apply(lambda x: x.fillna("pupiki"))输出:2.41s±39.5ms/环(平均±std )。dev.7次运行,每一次循环1次)
https://stackoverflow.com/questions/59470804
复制相似问题