본문 바로가기

Pandas/응용

판다스 - 데이터 밀어내기 : last_valid_index, shift

반응형

데이터 불러오기

 

 

 

우선 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일부터 모든 데이터가 시작된다.

 

 

반응형