데이터 불러오기
우선 Date 컬럼을 보면
날짜의 역순으로 데이터가 진행되고 있다.
또한 2월 10일부터 A컬럼의 데이터가 있으나
B컬럼은 2월 11일, C 컬럼은 2월 12일부터 데이터가 입력되어있다.
이를 간단하게 그래프로 그려보면
출발선이 다름을 볼 수 있다.
따라서 2월 10일부터 출발을 같이한 자료를 보기위해
데이터를 수정해보자.
pd.Series.last_valid_index
last_valid_index는 유효한 값이 있는 마지막 인덱스를 반환한다.
더 쉽게 보면
B 컬럼을 예로 들면
3번 인덱스부터 값이 입력되었다.
그 인덱스를 반환하는 것이 pd.Series.last_valid_index 이다.
그렇다면 제일 오래전에 입력된 데이터에서
각 컬럼별 last_valid_index 만큼 아래로 옮기면 되지 않을까?
각 컬럼별 shift_values를 구했다.
예를 들어 B 컬럼은 아래로 1만 옮기면 되는 것이다.
위의 for loop를 이용한다.
shift 메서드
shift 메서드는 인잣값만큼 데이터를 밀어낸다.
위 두개를 이용해 코드를 짜서
옮겨진 각각의 시리즈를 담은 리스트를 얻어낸다.
이를 다시한번 pd.concat을 이용해 데이터프레임으로 만든다.
원하는대로 잘 움직여졌다.
다시 출발점이 동일한지 보기 위해
그래프로 보자
아까와 달리 2월 10일부터 모든 데이터가 시작된다.
'Pandas > 응용' 카테고리의 다른 글
판다스 - reindex를 활용한 멀티인덱스 컬럼(열) 추출 (0) | 2020.07.04 |
---|---|
판다스 - 데이터 끌어올리기 : first_valid_index, shift (0) | 2020.07.01 |
판다스 - 시계열 : 최초발생일, 진행 정도 파악 (0) | 2020.06.30 |
판다스 - groupby : cut, qcut을 이용해 그룹핑 (0) | 2020.06.28 |
판다스 - groupby : 색인 단계로 그룹핑하기(계층적 색인) (0) | 2020.06.28 |