0
我想弄清楚爲什麼這兩種方法在%timeit
結果中有所不同。熊貓:函數之間的時間差和適用於系列
import pandas as pd
import numpy as np
d = pd.DataFrame(data={'S1' : [2,3,4,5,6,7,2], 'S2' : [4,5,2,3,4,6,8]}, \
index=[1,2,3,4,5,6,7])
%timeit pd.rolling_mean(d, window=3, center=True)
10000 loops, best of 3: 182 µs per loop
%timeit d.apply(lambda x: pd.rolling_mean(x, window=3, center=True))
1000 loops, best of 3: 695 µs per loop
爲什麼應用(lambda)方法〜3.5 x慢。在更復雜的數據框中,我注意到了更大的差異(〜10 x)。
lambda方法是否在此操作中創建數據的副本?
感謝 - http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.DataFrame.apply.html – sanguineturtle