2017-01-23 2 views
1

나는 foundafew 관련 질문을 가지고 있지만 아무도 트릭을하고있는 것 같습니다. 팬티 데이터 프레임 구조를 사용하여 this과 비슷한 구현을 원합니다. 아래에서는 3616 행을 가진 전체 2016 년 샘플 데이터를 만듭니다.팬더 롤링 그룹스 timeseries 데이터

import pandas as pd 
import numpy as np 
dates=pd.date_range('2016-01-01','2016-12-31')  
random_data=np.random.randn(len(dates)) 
data=pd.DataFrame(random_data,index=dates,columns=['Test']) 

2 일마다 다음 5 일간의 데이터를 얻으려면 groupby를 사용하고 싶습니다. 일반 groupby는 겹치는 timframes을 가지고 있지 않습니다. groupby에 2 일을 넣으면 2 일간의 데이터를 가진 183 (366/2) 그룹이 나에게 줄 것이다. 5 일간의 그룹 비우기를하면 5 일 동안 각각 74 (366/5) 그룹이 나에게 줄 것입니다. 나는 각각 5 일씩 183 개의 그룹을 원합니다.

불명확 할 경우 미리 죄송합니다. 여기에 내가 원하는 것입니다 : 이것은 data.groupby(pd.TimeGrouper('2d'))

  Test 
2016-02-08 1.073696 
2016-02-09 1.169865 
      Test 
2016-02-10 1.421454 
2016-02-11 -0.576036 
      Test 
2016-02-12 -1.066921 
2016-02-13 2.639681 

로 무엇을 얻을

  Test 
2016-02-08 1.073696 
2016-02-09 1.169865 
2016-02-10 1.421454 
2016-02-11 -0.576036 
2016-02-12 -1.066921 

      Test 
2016-02-10 1.421454 
2016-02-11 -0.576036 
2016-02-12 -1.066921 
2016-02-13 2.639681 
2016-02-14 -0.261616 

이는 날짜의 차이가 정상적인 순서를 경우 내가 data.groupby(pd.TimeGrouper('5d'))

  Test 
2016-02-08 0.898029 
2016-02-09 -0.905950 
2016-02-10 -0.202483 
2016-02-11 1.073696 
2016-02-12 1.169865 
       Test 
2016-02-13 1.421454 
2016-02-14 -0.576036 
2016-02-15 -1.066921 
2016-02-16 2.639681 
2016-02-17 -0.261616 
+1

을 : 매 2 행에서 시작하고 각을 선택 다섯 개 행을 선택 . 당신이 뭔가 다른 것을 찾고 있다고 생각한다면, 알려주십시오. 나는이 백업을 열 것입니다. – piRSquared

+0

감사합니다. 인터넷 검색 중에 질문을 놓쳤습니다. '롤링'또는 'groupby'와 같은 키워드를 더 추가하는 방법이 있습니까? 그렇다면 링크 된 다른 것들에 대한 질문을 Google에 올리십시오. –

+0

귀하의 질문은 정확하게 그 것입니다. 키워드를 추가했습니다. 사람들이이 질문에 이르게 할 무언가를 Google에서 찾을 때 Stackoverflow는 해당 트래픽을 내 질문으로 리디렉션합니다. 모두이를 중복으로 표시했기 때문입니다. 이것이 중복 확인을 요청하는 이유입니다. 당신은 동일한 질문을했지만 다른 말씨를 사용했습니다. 그런 의미에서 사이트를 개선하는 데 도움을주었습니다. – piRSquared

답변

2

로 무엇을 얻을 하루의 샘플 데이터가 표시되면 인덱스를 사용하여 행을 선택할 수 있습니다. 그 답변의 도움이 있다면, 아래 @ Psidom의 대답뿐만 아니라 그들을 것은-로그인하여 주시기

[data.iloc[i:(i+5)] for i in range(0, len(data), 2)] 

#[    Test 
# 2016-01-01 0.450173 
# 2016-01-02 -0.496819 
# 2016-01-03 0.270781 
# 2016-01-04 -0.207634 
# 2016-01-05 1.032061,     
#     Test 
# 2016-01-03 0.270781 
# 2016-01-04 -0.207634 
# 2016-01-05 1.032061 
# 2016-01-06 -0.470462 
# 2016-01-07 -1.077634, ...] 
+0

다른 게시물에 추가 한 경우, 거기에 투표 할 수도 있습니다. – piRSquared

관련 문제