> 백엔드 개발 > 파이썬 튜토리얼 > Pandas의 날짜 시간 범위를 기반으로 DataFrame을 효율적으로 조인하는 방법은 무엇입니까?

Pandas의 날짜 시간 범위를 기반으로 DataFrame을 효율적으로 조인하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-13 05:42:09
원래의
158명이 탐색했습니다.

How to Efficiently Join DataFrames Based on Datetime Ranges in Pandas?

범위 내의 열 값으로 데이터 프레임 조인

두 개의 데이터 프레임 df_1 및 df_2가 제공됩니다. 여기서 df_1에는 날짜/시간 열과 값 A 및 B가 포함되고 df_2에는 다음 범위가 포함됩니다. 날짜/시간 값과 해당 이벤트 정보를 사용하는 경우 일반적인 작업은 다음 조건에 따라 이러한 데이터프레임을 병합하는 것입니다. df_1의 날짜/시간 값은 df_2에 지정된 범위 내에 있습니다.

이를 달성하기 위한 간단한 접근 방식은 df_2의 시작 및 끝 열에서 간격 인덱스를 생성하고 닫힌 매개변수를 둘 다로 설정하는 것입니다. 이렇게 하면 범위가 포함됩니다.

df_2.index = pd.IntervalIndex.from_arrays(df_2['start'],df_2['end'],closed='both')
로그인 후 복사

간격 인덱스가 생성되면 IntervalIndex의 get_loc 메서드를 사용하여 각 행에 대해 df_1의 날짜/시간 값이 포함된 범위를 찾을 수 있습니다.

df_1['event'] = df_1['timestamp'].apply(lambda x : df_2.iloc[df_2.index.get_loc(x)]['event'])
로그인 후 복사

df_1의 날짜/시간 열에 있는 각 값에 이 함수를 적용하면 다음을 포함하는 새 열인 이벤트를 채울 수 있습니다. df_1의 각 행에 대한 df_2의 해당 이벤트 정보.

이 접근 방식은 Pandas에서 제공하는 강력한 간격 인덱싱 기능을 사용하여 범위 조건을 기반으로 데이터 프레임을 조인하는 효율적인 방법을 제공합니다. 출력은 df_1과 df_2의 모든 열이 포함된 데이터 프레임이 되며, 이벤트 열은 df_1의 각 행에 대해 일치하는 이벤트를 제공합니다.

위 내용은 Pandas의 날짜 시간 범위를 기반으로 DataFrame을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿