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



tgoop.com/BookPython/3549
Create:
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 разработчика | Книги по питону


Share with your friend now:
tgoop.com/BookPython/3549

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” Telegram Channels requirements & features Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. 4How to customize a Telegram channel? During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month.
from us


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