대형 Pandas 데이터 프레임을 동일한 부분으로 분할
Pandas에서 대규모 데이터 세트로 작업할 때 데이터 프레임을 더 작은 단위로 나누어야 하는 경우가 많습니다. 처리 또는 분석. 데이터프레임을 분할하는 데 일반적으로 사용되는 방법 중 하나는 np.split입니다. 이는 지정된 축을 따라 데이터를 동일한 수의 배열로 배포합니다. 그러나 이 방법을 사용하여 홀수 행을 분할하려고 하면 ValueError가 발생할 수 있습니다.
np.array_split을 사용하는 대체 접근 방식
이 문제를 해결하려면 다음을 사용하는 것이 좋습니다. 대신 np.array_split. 이 함수를 사용하면 다음 Python 코드에서 설명한 것처럼 데이터 프레임을 동일하지 않게 나눌 수 있습니다.
<code class="python">import pandas as pd import numpy as np 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)}) print(df) split_data = np.array_split(df, 4) for part in split_data: print(part)</code>
이 코드의 출력은 데이터 프레임을 4개의 동일한 부분으로 분할한 것을 보여줍니다.
A B C D 0 foo one -0.174067 -0.608579 1 bar one -0.860386 -1.210518 2 foo two 0.614102 1.689837 3 bar three -0.284792 -1.071160 4 foo two 0.843610 0.803712 5 bar two -1.514722 0.870861 6 foo one 0.131529 -0.968151 7 foo three -1.002946 -0.257468 A B C D 0 foo one -0.174067 -0.608579 1 bar one -0.860386 -1.210518 2 foo two 0.614102 1.689837 3 bar three -0.284792 -1.071160 4 foo two 0.843610 0.803712 5 bar two -1.514722 0.870861 A B C D 0 foo one 0.131529 -0.968151 1 foo three -1.002946 -0.257468 A B C D 0 bar one -0.860386 -1.210518 1 foo two 0.614102 1.689837 2 bar three -0.284792 -1.071160 3 foo two 0.843610 0.803712 4 bar two -1.514722 0.870861
np.array_split을 사용하면 총 개수에 관계없이 데이터프레임 행의 균등한 분포가 보장됩니다. 이는 추가 처리를 위해 대규모 데이터 세트를 관리 가능한 덩어리로 분할하는 편리한 방법을 제공합니다.
위 내용은 행 수가 부분 수로 나눌 수 없는 경우 큰 Pandas DataFrame을 동일한 부분으로 어떻게 분할합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!