При попытке обработать слишком большие фреймы данных распространенным препятствием является ужасная ошибка памяти. Одним из эффективных решений является разделение кадра данных на более мелкие, управляемые фрагменты. Эта стратегия не только снижает потребление памяти, но и способствует эффективной обработке.
Для достижения этого мы можем использовать либо понимание списка, либо функцию NumPy array_split.
n = 200000 # Chunk row size
list_df = [df[i:i n] for i in range(0, df.shape[0], n)]
list_df = np.array_split(df, math.ceil(len(df) / n))
Затем можно получить отдельные фрагменты используя:
list_df[0]
list_df[1]
...
Чтобы собрать фрагменты в один кадр данных, используйте pd.concat:
# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)
Чтобы разделить кадр данных по значениям AcctName, используйте метод groupby:
list_df = []
for n, g in df.groupby('AcctName'):
list_df.append(g)
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3