Pandas 데이터 프레임으로 작업할 때 두 개 이상의 데이터 프레임의 데카르트 곱을 생성해야 하는 경우가 많습니다. 이는 여러 소스의 데이터를 결합하거나 다양한 변수 간의 관계를 탐색하는 데 유용한 작업이 될 수 있습니다.
최신 버전의 Pandas(>= 1.2)에서 교차 병합 방법은 병합 방법은 두 데이터프레임의 데카르트 곱을 계산하는 편리한 방법을 제공합니다. 이 방법을 사용하려면 How='cross' 인수를 사용하여 병합 함수를 호출하면 됩니다.
import pandas as pd df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, how='cross')
결과 데이터프레임 df_cartesian에는 df1과 df2의 모든 행 조합이 포함되어 데카르트 곱이 생성됩니다. .
Pandas 이전 버전의 경우 1.2에서는 데카르트 곱을 생성하기 위해 약간 다른 접근 방식을 사용해야 했습니다. 이 접근 방식에는 데이터 프레임 중 하나에서 반복되는 키를 사용한 다음 해당 키를 병합하는 방법이 포함됩니다.
df1 = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'key': [1, 1], 'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, on='key')[['col1', 'col2', 'col3']]
두 데이터 프레임의 각 행에 대해 반복되는 키를 생성하면 병합을 통해 데카르트 곱을 효과적으로 수행할 수 있습니다.
Pandas >= 1.2를 사용하는지 아니면 이전 버전에서는 위에서 설명한 방법을 사용하여 두 개 이상의 데이터 프레임의 데카르트 곱을 생성하는 효율적인 방법을 제공합니다. 사용 중인 특정 Pandas 버전에 따라 한 가지 접근 방식이 다른 접근 방식보다 더 편리하거나 효율적일 수 있습니다.
위 내용은 Pandas DataFrames의 데카르트 곱을 효율적으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!