tg-me.com/BookPython/3549
Last Update:
🐍 Как ускорить работу с pandas
?
Сегодня я покажу вам несколько способов ускорить работу с pandas
, если у вас большие объемы данных.
1️⃣ Используйте categorical
тип данных
Если у вас есть столбцы с повторяющимися строковыми значениями (например, категории товаров), лучше преобразовать их в category
:
df["category"] = df["category"].astype("category")
Это снизит использование памяти и ускорит фильтрацию.
2️⃣ Читайте файлы быстрее
Стандартный
pandas.read_csv()
не всегда работает быстро. Можно попробовать: - Указать
dtype
столбцов - Использовать
usecols
для загрузки только нужных колонок - Применить
pyarrow
или fastparquet
при работе с Parquet-файлами
df = pd.read_csv("data.csv", dtype={"id": "int32", "name": "category"}, usecols=["id", "name"])
3️⃣ Используйте
numba
и vectorize()
Если у вас есть сложные вычисления, попробуйте
numba
:
from numba import jit
@jit(nopython=True)
def expensive_function(x):
return x**2 + 10*x + 5
df["new_col"] = df["value"].apply(expensive_function)
Это ускорит обработку в разы!
4️⃣
modin
вместо pandas
Если у вас мощный многопоточный процессор, попробуйте
modin
:
import modin.pandas as pd
df = pd.read_csv("data.csv")
Этот модуль использует все ядра процессора и ускоряет вычисления.
Какие еще трюки используете вы? Делитесь в комментариях!
👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3549