我对我的函数进行了分析,发现瓶颈在下面的行,该行将数据帧df
的列值除以100:
df.iloc[:,2:6] = df.iloc[:,2:6]/100.0
有什么加快速度的技巧吗?
最佳答案
我的时间安排:
np.random.seed(100)
N = 10000000
df = pd.DataFrame(np.random.randint(1000, size=(N,7)), columns=list('ABCDEFG'))
print (df)
In [79]: %timeit df.iloc[:, 2:6].div(100)
1 loop, best of 3: 221 ms per loop
In [80]: %timeit df.iloc[:, 2:6] / 100
1 loop, best of 3: 219 ms per loop
In [81]: %timeit df.iloc[:, 2:6] / 100.0
1 loop, best of 3: 205 ms per loop
In [82]: %timeit df.iloc[:, 2:6] * 0.01
1 loop, best of 3: 180 ms per loop
关于python - 如何加快Pandas DataFrame除常数的计算速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41584896/