반응형
다음과 같은 데이터 프레임 df가 있습니다. 날짜와 시간은 2 개의 다단계 색인입니다.
observation1 observation2
date Time
2012-11-02 9:15:00 79.373668 224
9:16:00 130.841316 477
2012-11-03 9:15:00 45.312814 835
9:16:00 123.776946 623
9:17:00 153.76646 624
9:18:00 463.276946 626
9:19:00 663.176934 622
9:20:00 763.77333 621
2012-11-04 9:15:00 115.449437 122
9:16:00 123.776946 555
9:17:00 153.76646 344
9:18:00 463.276946 212
매일 데이터 블록에 대해 복잡한 프로세스를 실행하고 싶습니다.
의사 코드는 다음과 같습니다.
for count in df(level 0 index) :
new_df = get only chunk for count
complex_process(new_df)
그래서 우선 날짜에 대한 블록에만 접근하는 방법을 찾지 못했습니다.
2012-11-03 9:15:00 45.312814 835
9:16:00 123.776946 623
9:17:00 153.76646 624
9:18:00 463.276946 626
9:19:00 663.176934 622
9:20:00 763.77333 621
처리를 위해 보냅니다. 수준 0 열의 정확한 값을 언급하지 않고 수행 할 방법이 있는지 확실하지 않기 때문에 for 루프에서이 작업을 수행하고 있습니다. 몇 가지 기본 검색을 수행하고 df.index.get_level_values (0)를 얻을 수 있었지만 모든 값을 반환하므로 루프가 하루 동안 여러 번 실행됩니다. 하루에 데이터 프레임을 만들어 처리를 위해 보내고 싶습니다.
해결 방법
한 가지 쉬운 방법은 인덱스의 첫 번째 수준으로 그룹화하는 것입니다. groupby 객체를 반복하면 그룹 키와 각 그룹을 포함하는 서브 프레임이 반환됩니다.
In [136]: for date, new_df in df.groupby(level=0):
...: print(new_df)
...:
observation1 observation2
date Time
2012-11-02 9:15:00 79.373668 224
9:16:00 130.841316 477
observation1 observation2
date Time
2012-11-03 9:15:00 45.312814 835
9:16:00 123.776946 623
9:17:00 153.766460 624
9:18:00 463.276946 626
9:19:00 663.176934 622
9:20:00 763.773330 621
observation1 observation2
date Time
2012-11-04 9:15:00 115.449437 122
9:16:00 123.776946 555
9:17:00 153.766460 344
9:18:00 463.276946 212
참조 페이지 https://stackoverflow.com/questions/25929319
반응형
'파이썬' 카테고리의 다른 글
파이썬 문자열 앞의 b 접두사는 무엇을 의미합니까? (0) | 2020.12.08 |
---|---|
파이썬 루프에서 현재 항목과 다음 항목을 어떻게 건너 뛸 수 있습니까? (0) | 2020.12.08 |
파이썬 Python urllib2.HTTPError : HTTP Error 503 : Service Unavailable on valid website (0) | 2020.12.08 |
파이썬 Django 1.7-makemigrations 후 마이그레이션 실행시 "적용 할 마이그레이션 없음" (0) | 2020.12.08 |
파이썬 AttributeError를 해결하는 방법 : 'NoneType'객체에는 Python에서 'encode'속성이 없습니다. (0) | 2020.12.08 |
댓글