如何隔离pandas数据框的部分

时间:2016-01-28 09:41:41

标签: python pandas

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]]

I get this error

1 个答案:

答案 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函数。