我have a JSON包含各种资产的回测,我使用以下代码分隔资产:
preds = 'test_predictions.json'
df = pd.read_json(preds)
asset = 'Poloniex_DOGE_BTC'
grouped = df.groupby('market_trading_pair')
print grouped.get_group(asset)
#each array should start and end:
#start 1446012000
#end 1452556800
现在我们怎样才能截断'分组'这样它从上面的时间戳开始和结束?
编辑:
对不起,这是df
的一个例子 market_trading_pair next_future_timestep_return ohlcv_start_date \
7073 Poloniex_DOGE_BTC -0.023256 1445392800
7074 Poloniex_DOGE_BTC 0.023810 1445396400
7075 Poloniex_DOGE_BTC 0.000000 1445400000
prediction_at_ohlcv_end_date
7073 0.999999
7074 1.000000
7075 -0.999891
使用Serbitar的答案:
我将print grouped.get_group(asset)
替换为:
print grouped.get_group(asset)[['ohlcv_start_date'> 1446012000 ] & ['ohlcv_start_date'< 1452556800]]
答案 0 :(得分:0)
很难判断我们是否没有您的分组数据框的示例。 如果x是你的开始时间,y是你的停止时间,请尝试:
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
def coords(self):
yield self.x
yield self.y
p = Point(1, 2)
x, y = p.coords()
assert (1, 2) == (x, y)
如果时间戳上有索引,也可以使用between函数。