TG Telegram Group & Channel
Библиотека Python разработчика | Книги по питону | United States America (US)
Create: 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

🐍 Как ускорить работу с 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
👍4


>>Click here to continue<<

Библиотека Python разработчика | Книги по питону




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)