【发布时间】:2016-08-26 13:14:23
【问题描述】:
假设您有一个包含 1 分钟时间序列的数据框,其中包含索引、4 列和 400 万行。当您尝试执行以下操作时:
conversion = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}
df1 = df.resample('5Min', how=conversion)
这需要很长的时间(20-30 分钟)。我怎样才能加快这个过程?
熊猫 18,Python 2.7
【问题讨论】:
-
随机生成的数据(4 列 400 万行)对我来说需要 247 毫秒。
-
@ayhan 你能发布你用来生成数据的代码吗?
-
@ayhan,你生成了什么
dtypes?你能发布你的代码吗? -
索引:
idx = pd.date_range('1/1/2010', periods=4000000, freq='T'),数据:df = pd.DataFrame(np.random.rand(4000000, 4), columns = ["Open", "High", "Low", "Close"], index = idx)测试:%timeit df.resample("5Min").agg(conversion)(您的代码也差不多) -
@ayhan,我想你可以发布你的
prove snippet作为答案 - 它表明resample()不是罪魁祸首,IMO 回答了这个问题
标签: python python-2.7 pandas dataframe resampling