2014-12-16 8 views
1

여러 개의 열과 시계열 인덱스가있는 데이터 프레임이 있다고 가정 해 보겠습니다.Python Pandas : 일치하는 행의 이전 행 선택

이러한 열 중 하나의 경우, NaN이 아닌 값 바로 앞에있는 NaN을 다른 열의 값으로 바꿔야합니다.

이하

2003-10-24 02:00:00 NaN 2003-10-24 03:00:00 NaN 2003-10-24 04:00:00 0.001 2003-10-24 05:00:00 NaN 2003-10-24 06:00:00 NaN 2003-10-24 07:00:00 0.006 2003-10-24 08:00:00 NaN 2003-10-24 09:00:00 NaN 2003-10-24 10:00:00 NaN 2003-10-24 11:00:00 0.004

는 예시 목적

2003-10-24 02:00:00 NaN 2003-10-24 03:00:00 0.002 2003-10-24 04:00:00 0.001 2003-10-24 05:00:00 NaN 2003-10-24 06:00:00 0.001 2003-10-24 07:00:00 0.006 2003-10-24 08:00:00 NaN 2003-10-24 09:00:00 NaN 2003-10-24 10:00:00 0.003 2003-10-24 11:00:00 0.004

될 것이다이를 설명하기

, 여분의 데이터 열은

2003-10-24 02:00:00 0.001 2003-10-24 03:00:00 0.002 2003-10-24 04:00:00 0.001 2003-10-24 05:00:00 0.015 2003-10-24 06:00:00 0.001 2003-10-24 07:00:00 0.006 2003-10-24 08:00:00 0.005 2003-10-24 09:00:00 0.002 2003-10-24 10:00:00 0.003 2003-10-24 11:00:00 0.004

,745,151 인

도움을 주시면 감사하겠습니다.

답변

2

이것은 세계에서 가장 좋은 접근법은 아니지만 여기에 있습니다. 원하는 데이터의 정수 인덱스를 찾으려면 먼저 ind을 입력하십시오. 다음 예에서 나는 df["col2"]

import numpy as np 

ind = np.where(df.col1.isnull() & df.col1.shift(-1).notnull()) 

df.loc[df.index[ind], "col1"] = df.loc[df.index[ind], "col2"] 

df["col1"]의 값을 대체하고이 당신이 원하는 무엇인가?

관련 문제