2014-12-19 3 views
3

팬더에서 병합하고 싶은 두 개의 데이터 프레임이 있습니다. 그들은 둘 다 내가 병합하는 datetime 열을 가지고 있지만 다른 데이터 프레임에는 매 15 분마다 행이있는 반면, 1 분에는 1 분, 5 분에는 (연도에 따라) 행이 있습니다. 외부 조인을 수행하면 병합 할 수 있지만 15 분마다 행에 두 데이터 프레임의 데이터가 모두 포함됩니다. 15 분짜리 데이터를 복사하고이 데이터로 1 분 또는 5 분 행을 채 웁니다. 따라서 오전 12 시부 터의 데이터는 모든 행을 채우고 12:14 AM까지 채 웁니다. 그러면 오전 12시 15 분이 복사되어 12시 29 분까지 채워질 것입니다. 이것을 어떻게 할 수 있습니까? This question도 비슷해 보이지만 내 정확한 시나리오를 구현하는 방법을 잘 모르겠습니다. 특히 내 1 데이터 프레임이 다른 해 동안 5 분에서 1 분 간격으로 변경된다는 점을 감안할 때 그렇습니다.서로 다른 시간 간격으로 팬더에서 두 개의 데이터 프레임을 병합 및 채우기

답변

1

당신은 다른 사람들을 돕기 위해 희망 오래된 질문에 대답하는 방법 'ffill'

df1 = df1.resample('m').fillna(method = 'ffill') 
df2 = df2.resample('m').fillna(method = 'ffill') 
1

와 같은 간격 fillna을 가질 수 있도록 두 dataseries을 리샘플링합니다.

비슷한 문제점이 있지만 시간 소인이있는 두 데이터 프레임 옆에 15 ~ 15 분 데이터가 일치 할 수 있는지 또는 내 1 ~ 1 분 데이터 내에 없는지를 정의하는 추가 열이 있습니다. 그것은 merge의 ON 매개 변수에 사용 된 키와 같았지만, 이러한 추가 데이터가 있었기 때문에 pd.merge를 직접 사용할 수 없었습니다.

매개 변수를 사용하여 추가 정보의 일부를 포함하여 직접 해결 한이 기능을 발견했습니다. 워드 프로세서에

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge_asof.html

예는 정말 간단합니다.

관련 문제