[英]Access section of pandas data frame that lies between two values
I have a dataframe of values from backtest. 我有一个来自回测值的数据框。 Sample data:
样本数据:
market_trading_pair next_future_timestep_return ohlcv_start_date \
0 Poloniex_ETH_BTC 0.003013 1450753200
1 Poloniex_ETH_BTC -0.006521 1450756800
2 Poloniex_ETH_BTC 0.003171 1450760400
3 Poloniex_ETH_BTC -0.003083 1450764000
4 Poloniex_ETH_BTC -0.001382 1450767600
prediction_at_ohlcv_end_date
0 -0.157053
1 -0.920074
2 0.999806
3 0.627140
4 0.999857
What do i need to write to get the rows between 2 ohlcv_start_date, for example 例如,我需要写些什么才能获得2 ohlcv_start_date之间的行
start = 1450756800 开始= 1450756800
end = 1450767600 结束= 1450767600
would produce rows 1 to 4 将产生第1至4行
pass multiple boolean conditions and use &
to and them and use brackets for operator precedence: 传递多个布尔条件并使用
&
到和并使用方括号来表示运算符的优先级:
In [189]:
df[(df['ohlcv_start_date'] >=1450756800) & (df['ohlcv_start_date'] <=1450767600)]
Out[189]:
market_trading_pair next_future_timestep_return ohlcv_start_date \
1 Poloniex_ETH_BTC -0.006521 1450756800
2 Poloniex_ETH_BTC 0.003171 1450760400
3 Poloniex_ETH_BTC -0.003083 1450764000
4 Poloniex_ETH_BTC -0.001382 1450767600
prediction_at_ohlcv_end_date
1 -0.920070
2 40.999806
3 0.627140
4 0.999857
If give you DataFrame a DatetimeIndex (based on the value in ohlcv_start_date
) then you can select rows by date using df.loc
: 如果为DataFrame提供DatetimeIndex(基于
ohlcv_start_date
的值),则可以使用df.loc
按日期选择行 :
In [61]: df.index = pd.to_datetime(df['ohlcv_start_date'], unit='s')
In [63]: df.loc['2015-12-22 03':'2015-12-22 07']
Out[63]:
market_trading_pair next_future_timestep_return \
ohlcv_start_date
2015-12-22 03:00:00 Poloniex_ETH_BTC 0.003013
2015-12-22 04:00:00 Poloniex_ETH_BTC -0.006521
2015-12-22 05:00:00 Poloniex_ETH_BTC 0.003171
2015-12-22 06:00:00 Poloniex_ETH_BTC -0.003083
2015-12-22 07:00:00 Poloniex_ETH_BTC -0.001382
ohlcv_start_date prediction_at_ohlcv_end_date
ohlcv_start_date
2015-12-22 03:00:00 1450753200 -0.157053
2015-12-22 04:00:00 1450756800 -0.920074
2015-12-22 05:00:00 1450760400 0.999806
2015-12-22 06:00:00 1450764000 0.627140
2015-12-22 07:00:00 1450767600 0.999857
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.