>  기사  >  백엔드 개발  >  행 수가 균등하게 나눌 수 없는 경우 대형 Pandas 데이터프레임을 여러 부분으로 분할하는 방법은 무엇입니까?

행 수가 균등하게 나눌 수 없는 경우 대형 Pandas 데이터프레임을 여러 부분으로 분할하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-27 04:13:30715검색

How to Split a Large Pandas Dataframe into Multiple Parts When the Number of Rows is Not Evenly Divisible?

대형 Pandas 데이터프레임을 여러 부분으로 분할

대량 데이터세트로 작업할 때 더 작고 관리 가능한 덩어리로 분할해야 하는 경우가 많습니다. 이를 통해 성능이 향상되고, 메모리 사용량이 향상되며, 병렬 처리가 용이해집니다. 이 기사에서는 np.split()을 사용하여 대규모 Pandas 데이터 프레임을 분할하려고 시도하는 동안 발생한 문제를 해결하겠습니다.

문제 이해

제공된 코드 코드 조각은 np.split()을 사용하여 데이터 프레임을 4개의 하위 그룹으로 분할했습니다. 그러나 불평등한 나누기로 인해 ValueError가 발생했습니다. 이 오류는 데이터프레임의 요소 수가 원하는 분할 수로 균등하게 나누어지지 않을 때 발생합니다.

해결책: np.array_split() 사용

극복하려면 이 과제에서는 np.split()보다 더 다양한 대안인 np.array_split()을 사용합니다. 설명서에 나와 있듯이 array_split()은 동등하지 않은 나누기를 허용하므로 우리와 같은 상황에 적합합니다.

구현

다음은 np를 사용하는 Python 코드 예제입니다. array_split()은 데이터프레임을 네 부분으로 분할합니다:

<code class="python">import pandas as pd
import numpy as np

# Create a sample dataframe
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                    'C': np.random.randn(8),
                    'D': np.random.randn(8)})

# Split the dataframe into four groups using array_split
groups = np.array_split(df, 3)

# Print the split groups
for group in groups:
    print(group)</code>

이렇게 하면 데이터프레임이 대략 동일한 크기의 그룹 3개로 효과적으로 분할됩니다. 각 그룹은 독립적으로 액세스하고 처리할 수 있어 불평등한 분할의 초기 문제를 해결할 수 있습니다.

위 내용은 행 수가 균등하게 나눌 수 없는 경우 대형 Pandas 데이터프레임을 여러 부분으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.