برنامه نویسی

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 دنبال کنید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا