Итак, я новичок в пакете Pandas. Я делал несколько тестов на стратегию ETF, что мне нужно сделать много запросов в Pandas Dataframe.Querying Python Pandas DataFrame с индексом или столбцом Datetime
Так скажем, я эти два DataFrames, ДФ и df1, единственное отличие состоит в том, что: ДФ имеет DateTime индекс, в то время как df1 имеет метку в виде столбца и целого индекса
In[104]: df.head()
Out[104]:
high low open close volume openInterest
2007-04-24 09:31:00 148.28 148.12 148.23 148.15 2304400 341400
2007-04-24 09:32:00 148.21 148.14 148.14 148.19 2753500 449100
2007-04-24 09:33:00 148.24 148.13 148.18 148.14 2863400 109900
2007-04-24 09:34:00 148.18 148.12 148.13 148.16 3118287 254887
2007-04-24 09:35:00 148.17 148.14 148.16 148.16 3202112 83825
In[105]: df1.head()
Out[105]:
dates high low open close volume openInterest
0 2007-04-24 09:31:00 148.28 148.12 148.23 148.15 2304400 341400
1 2007-04-24 09:32:00 148.21 148.14 148.14 148.19 2753500 449100
2 2007-04-24 09:33:00 148.24 148.13 148.18 148.14 2863400 109900
3 2007-04-24 09:34:00 148.18 148.12 148.13 148.16 3118287 254887
4 2007-04-24 09:35:00 148.17 148.14 148.16 148.16 3202112 83825
так я могу проверить скорость выполнения запросов немного:
In[100]: %timeit df1[(df1['dates'] >= '2015-11-17') & (df1['dates'] < '2015-11-18')]
%timeit df.loc[(df.index >= '2015-11-17') & (df.index < '2015-11-18')]
%timeit df.loc['2015-11-17']
100 loops, best of 3: 4.67 ms per loop
100 loops, best of 3: 3.14 ms per loop
1 loop, best of 3: 259 ms per loop
к моему удивлению, является то, что с помощью логики, построенной с использованием пандами является фактически самым медленным:
df.loc['2015-11-17']
Кто-нибудь знает, почему? И есть ли какие-либо документы или блоги о наиболее эффективных способах запроса Pandas DataFrame?
Спасибо, человек! Я также тестировал его, самый простой способ - самый быстрый, как и должно быть. Вы знаете, где я могу получить целую картину о различных методах запросов с помощью Pandas? –
[http://pandas.pydata.org/pandas-docs/stable/indexing.html](http://pandas.pydata.org/pandas-docs/stable/indexing.html) это начало –
haha I Я действительно смотрю на это прямо сейчас, снова большое спасибо! –