5 تابع پایتون که تجزیه و تحلیل داده های شما را سرعت می بخشد

در اینجا پنج عملکرد قدرتمند وجود دارد که می توانند عملکرد شما را به میزان قابل توجهی افزایش داده و گردش کار شما را ساده کنند.
1. pandas.DataFrame.apply()
عملیات DataFrame خود را با توانا تغییر دهید apply()
تابع با استفاده از بردارسازی، در هنگام اجرای توابع سفارشی در ستونها یا ردیفهای DataFrame از حلقههای سنتی بهتر عمل میکند.
import pandas as pd
# Quick demonstration
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = df['A'].apply(lambda x: x ** 2)
این رویکرد ساده و در عین حال قدرتمند می تواند زمان اجرا را به طور چشمگیری کاهش دهد، به خصوص زمانی که با مجموعه داده های بزرگ سروکار داریم.
2. numpy.vectorize()
با حلقه های آهسته خداحافظی کنید! numpy.vectorize()
توابع پایتون شما را به عملیات بهینه سازی شده NumPy تبدیل می کند که برای پردازش عناصر کارآمد آرایه های بزرگ عالی است.
import numpy as np
def my_func(x):
return x + 10
vectorized_func = np.vectorize(my_func)
result = vectorized_func(np.array([1, 2, 3]))
زیر کاپوت، این به بهینهسازیهای سطح C NumPy کمک میکند و هم سرعت و هم کد تمیز را ارائه میکند.
3. pandas.DataFrame.groupby()
تجمیع داده ها با groupby()
. این روش بهینه سازی شده با C پردازش را در بین گروه ها توزیع می کند و آن را به طور قابل ملاحظه ای سریعتر از حلقه های سطح پایتون می کند:
# Efficient aggregation
df.groupby('column_name').sum()
این نه تنها عملکرد را بهبود می بخشد، بلکه به خطوط لوله پردازش داده قابل نگهداری تر نیز منجر می شود.
4. dask.dataframe
وقتی مجموعه داده شما از محدودیت حافظه فراتر رفت، Dask به کمک می آید. در حین پردازش داده ها به صورت تکه های موازی، یک رابط پاندا مانند فراهم می کند:
import dask.dataframe as dd
ddf = dd.read_csv('large_dataset.csv')
result = ddf.groupby('column_name').mean().compute()
این به ویژه برای گردشهای کاری یادگیری ماشینی با مجموعه دادههای گسترده ارزشمند است.
5.numba.jit()
برای کارهای محاسباتی سنگین، Numba's @jit
دکوراتور یک تغییر دهنده بازی است. این کد پایتون را به کد ماشین کامپایل می کند و سرعت های قابل توجهی را ارائه می دهد:
from numba import jit
@jit
def compute_sum(arr):
total = 0
for i in arr:
total += i
return total
result = compute_sum(np.arange(1000000))
تصور کنید که یک کامپایلر C در نوک انگشتان شماست، که برای بهینه سازی حلقه های تنگ و الگوریتم های عددی پیچیده عالی است.
بسته بندی
این توابع می توانند گردش کار تجزیه و تحلیل داده های شما را متحول کنند. هر کدام نقاط قوت خود را به جدول میآورند، چه با مجموعه دادههای بزرگ، محاسبات پیچیده یا محیطهای محدود به حافظه کار کنید. آنها را امتحان کنید و کد خود را محک بزنید تا پیشرفت ها را از نزدیک ببینید!
بیایید وصل شویم! 🤝
- 💼 با من در لینکدین ارتباط برقرار کنید
- 🎮 به انجمن Random42 ما در Discord بپیوندید – اخبار هوش مصنوعی، داستان های موفقیت، موارد استفاده و پشتیبانی از پروژه شما!
- 📝 سفر فناوری من را در Dev.to دنبال کنید