데이터 분석에서 큰 데이터 프레임으로 작업하면 종종 메모리 오류가 발생할 수 있습니다. 이 문제를 해결하려면 데이터프레임을 더 작고 관리 가능한 청크로 분할하는 것이 귀중한 전략이 될 수 있습니다. 이 문서에서는 특정 열, 특히 AcctName을 기반으로 대규모 데이터 프레임을 효율적으로 청크로 분할하는 방법을 살펴봅니다.
목록 이해를 사용하여 이 분할을 달성할 수 있습니다.
<code class="python">import numpy as np import pandas as pd # Define the chunk size n = 200,000 # Create a list to store the chunks list_df = [] # Extract unique AcctName values AcctNames = df['AcctName'].unique() # Create a dictionary of dataframes for each AcctName DataFrameDict = {acct: pd.DataFrame for acct in AcctNames} # Split the dataframe into chunks by AcctName for acct in DataFrameDict.keys(): DataFrameDict[acct] = df[df['AcctName'] == acct] # Apply your function to the chunk trans_times_2(DataFrameDict[acct]) list_df.append(DataFrameDict[acct]) # Rejoin the chunks into a single dataframe rejoined_df = pd.concat(list_df)</code>
또는 다음을 수행할 수 있습니다. NumPy의 array_split 함수 활용:
<code class="python">list_df = np.array_split(df, math.ceil(len(df) / n))</code>
이 접근 방식은 개별적으로 액세스할 수 있는 청크 목록을 생성합니다.
원래 데이터 프레임을 재조립하려면 pd.concat을 사용하면 됩니다.
<code class="python">rejoined_df = pd.concat(list_df)</code>
이러한 기술을 활용하면 대규모 데이터 프레임을 작은 청크로 효과적으로 분할하고 필요한 변환을 적용한 다음 결과 데이터를 단일 데이터 프레임으로 재조립할 수 있습니다. 이 접근 방식을 사용하면 메모리 사용량을 크게 줄이고 데이터 처리 작업의 효율성을 높일 수 있습니다.
위 내용은 AcctName별로 대형 Pandas DataFrame을 청크로 효율적으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!