相关疑难解决方法(0)

为什么 Pandas 的速度如此之快?如何定义这样的函数?

  • 我尝试比较Pandas传统循环的性能。我意识到,在输入和输出相同的情况下,与传统循环相比,Pandas 执行的计算速度非常快

我的代码:

#df_1h has been imported before

import time

n = 14
pd.options.display.max_columns = 8
display("df_1h's Shape {} rows x {} columns".format(df_1h.shape[0], df_1h.shape[1]))

close = df_1h['close']

start = time.time()
df_1h['sma_14_pandas'] = close.rolling(14).mean()
end = time.time()
display('pandas: {}'.format(end - start))

start = time.time()
df_1h['sma_14_loop'] = np.nan
for i in range(n-1, df_1h.shape[0]):
    df_1h['sma_14_loop'][i] = close[i-n+1:i+1].mean()
end = time.time()
display('loop: {}'.format(end - start))

display(df_1h.tail())
Run Code Online (Sandbox Code Playgroud)

输出:

"df_1h's Shape 16598 rows x 15 columns" …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x pandas jupyter-notebook

6
推荐指数
1
解决办法
3387
查看次数