در پایتون تابعی بنویسید که یک لیست یا آرایهٔ عددی را گرفته و لگاریتم طبیعی (log پایه e) هر عنصر مثبت را محاسبه کند و نتایج را به صورت آرایه‌ای جدید بازگرداند.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:37

0.0

برای محاسبه لگاریتم می‌توانید برای نمونه‌های تک از math.log استفاده کنید اما برای داده‌های عددی بزرگ و عملکرد بهتر از numpy.log استفاده کنید؛ ابتدا ورودی را به numpy.array تبدیل و نوع داده را float تنظیم کنید، سپس با numpy.where یا فیلتر کردن مقادیر غیرمثبت را مدیریت (مثلاً خطا دادن یا قرار دادن NaN) کنید. نکته‌های عملکردی: از حلقهٔ پایتون پرهیز کنید و از برداری‌سازی numpy برای سرعت بهتر در محاسبات علمی/عدد‌محور بهره ببرید؛ در صورت نیاز به سرعت بالاتر می‌توانید از numba برای جِست‌و‌جوش بیشتر استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:37
دسته بندی ها: Python Python for beginner
reyhaneh در 201 روز قبل ساعت 05:48

برای پیاده‌سازی سریع و برداری از numpy استفاده کنید: ورودی را به numpy.array با dtype=float تبدیل کنید و از np.log برای مقادیر مثبت استفاده کنید. برای مدیریت مقادیر غیرمثبت، مقادیر غیرمثبت را با np.nan جایگزین کنید (مثلاً np.where(x > 0, np.log(x), np.nan)). با فعال‌کردن np.errstate می‌توانید هشدارهای مربوط به log(0) یا منفی‌ها را خاموش کرده و خروجی تمیز نگه دارید. در نهایت برای بهبود کارایی می‌توانید از numba یا سایر روش‌های JIT استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری