Pandas에서 범위 기반 조인을 위한 가장 효과적인 방법
pandas 데이터 프레임으로 작업할 때 범위 기반 조인을 수행해야 합니다(병합 )은 일반적인 작업입니다. 이 문제를 해결하기 위해 다양한 접근 방식이 제안되었으며 각각 고유한 장점과 단점이 있습니다. 그러나 가장 우아하고 효율적인 방법은 numpy 브로드캐스팅을 활용하는 것입니다.
A_값이 B_low 및 B_high에서 지정한 범위 내에 속하는 조건을 기반으로 내부 조인을 목표로 하는 데이터프레임 A와 B를 생각해 보세요.
이를 달성하기 위해 우리는 numpy의 기능을 활용하여 A_value의 각 요소가 범위 기준을 충족하는지 확인합니다. 이는 B 범위의 하한 및 상한(B_low 및 B_high)에 대해 A_value 값을 브로드캐스팅함으로써 수행됩니다.
결과는 i와 j라는 두 개의 배열입니다. 여기서 i는 일치하는 A_value의 인덱스를 보유합니다. A의 요소와 j는 B의 해당 인덱스를 보유합니다. 이러한 인덱스를 결합하면 두 데이터 프레임에서 원하는 행을 검색하고 이를 연결하여 병합된 데이터 프레임을 생성할 수 있습니다.
다음은 이 접근 방식에 대해 업데이트된 코드입니다. :
<code class="python">import numpy as np a = A.A_value.values bh = B.B_high.values bl = B.B_low.values i, j = np.where((a[:, None] >= bl) & (a[:, None] <= bh)) pd.concat([ A.loc[i, :].reset_index(drop=True), B.loc[j, :].reset_index(drop=True) ], axis=1)</code>
이 방법은 효율적인 솔루션을 제공할 뿐만 아니라 내부 및 왼쪽 조인을 모두 우아하게 처리합니다. 매개변수를 조정하여 다양한 조인 시나리오에 쉽게 적용할 수 있습니다.
위 내용은 Numpy Broadcasting을 사용하여 Pandas에서 범위 기반 조인을 효율적으로 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!