YeaHub Tech
475 subscribers
169 photos
15 videos
2 files
201 links
Новые технологии, советы и обучающие материалы

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#BigData

📝 Как обрабатывать большие данные в Pandas, если они не помещаются в память

Представьте: у вас есть файл с 260 миллионами транзакций, но на компьютере всего 8 ГБ оперативной памяти. Если попробовать загрузить всё сразу — Python просто «упадёт». Что делать?


🔹Решение: обрабатываем данные по частям

Вместо того чтобы грузить весь файл разом, будем читать его порциями, например по 1 млн строк за раз. В Pandas это делается так:
import pandas as pd

# Загружаем данные по кускам
chunk_size = 1_000_000 # По 1 млн строк за раз
total_transactions = 0

for chunk in pd.read_csv('transactions.csv', chunksize=chunk_size):
# Обрабатываем каждую порцию данных
total_transactions += len(chunk)

print(f"Всего транзакций: {total_transactions:,}")



🔹Какие задачи можно решать?

1. Сколько всего транзакций? → Считаем строки в каждом куске и суммируем.

2. Сколько потратили за каждый год? → В каждом куске группируем по году и суммируем, потом складываем результаты.

3. Средние траты на развлечения по месяцам? → Фильтруем данные за 2020 год, оставляем только категорию «Развлечения», группируем по месяцам и считаем среднее.


🔹Почему это работает?

- Не нагружает оперативную память — обрабатывается только небольшая часть данных за раз.

- Можно делать сложные расчёты — главное аккуратно собирать промежуточные результаты.


🔹Как ускорить?

- Использовать `dtypes` — указать типы данных для экономии памяти.

- Фильтровать данные сразу при чтении — если нужен только 2020 год, не загружайте остальное.

- Параллельная обработка — если компьютер многопроцессорный.


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM