2013-10-06 2 views
0

ID와 타임 스탬프를 키로하는 다중 인덱스 시리즈/데이터 프레임이 있습니다. 이 데이터 구조에는 다양한 ID에 대한 일별 데이터가 있습니다. 리 샘플 기능을 사용하여이 데이터 구조의 월 스냅 샷 끝을 볼 수 있습니까? 다른 주파수로 판다 데이터 프레임을 샘플링

ID ts   value 
1 2001-01-30 1 
    2001-01-31 2 
    2001-02-01 3 
2 2001-01-30 3 
    2001-01-31 2 
    2001-02-01 4 

나는

ID ts   value 
1 2001-01-31 2 
2 2001-01-31 2 

내가 나를 돕기 위해 리 샘플 함수 호출을 사용할 수이 출력을 원하는? 나는 달 날짜 목록의 끝을 만들고 그 날짜를 반복하고 그 값을 찾을 수 있습니다. 그러나 팬더의 모든 기능을 사용하고 싶습니다.

답변

1

왜 다시 샘플링해야합니까? 그냥 ts에 인덱스를 설정하고 다음과 같이, 슬라이스 :

from cStringIO import StringIO 
raw = """id ts  value 
1 2001-01-30 1 
1 2001-01-31 2 
1 2001-02-01 3 
2 2001-01-30 3 
2 2001-01-31 2 
2 2001-02-01 4""" 
sio = StringIO(raw) 
df = read_csv(sio, sep=r'\s+', header=0, parse_dates=[1]) 
df.set_index('ts', inplace=True) 

슬라이스 한 후 색인 재설정 :

    ts value 
id       
1 2001-01-31 00:00:00  2 
2 2001-01-31 00:00:00  2 

것은 당신이 상관하지 않는 경우 : 결과

print df['2001-01-31'].reset_index().set_index('id') 

을 존재하지 않으면 월 값의 끝을 유추합니다.

df.groupby('id', as_index=False).resample('M', how='last') 
관련 문제