جلسه بیست و ششم از کتاب مرجع علم داده با استفاده از زبان پایتون python data science handbook
جلسه بیست و ششم از کتاب مرجع علم داده با استفاده از زبان پایتون python data science handbook
Fancy indexing یا شاخص گذاری Fancy جهت تغییر ارزشهای آرایه های numpy
همانطور که fancy indexing میتواند برای دسترسی به بخشهایی از آرایه های Numpy استفاده شود میتواند برای تغییرات بخشهایی از یک آرایه Numpy نیز استفاده شود. برای مثال، تصور کنید که ما یک آرایه ای از indices (ایندکسها) داشته باشیم و بخواهیم که عضوهای items خاصی در آن آرایه را از نظر ارزش تغییر بدهیم:
x = np.arange(10)
i = np.array([2, 1, 8, 4])
x[i] = 99
print(x)
ما میتوانیم از هر نوع عملگر تخصیص نوع برای این کار استفاده کنیم.
X[i] -= 10
توجه کنید که ایندکسهای تکراری از این عملیاتها میتواند موجب خروجیهای بالقوه غیر قابل انتظاری شود. به مثال زیر توجه کنید:
X = np.zeros(10)
X[[0, 0]] = [4, 6]
Print(x)
پرسشی که پیش می آید این است که 4 کجا رفته است؟ نتیجه این عملیات به این شکل حساب می شود که اول صفر امین عنصر آرایه x برابر 4 قرار می گیرد، در ادامه صفر امین عنصر آرایه x برابر 6 قرار می گیرد. نتیجه البته این خواهد بود که صفرامین عنصر آرایه x مقدار 6 را خواهد داشت.
تا اینجا منطقی بود اما عملیات زیر را در نظر بگیرید.
I = [2, 3, 3, 4, 4, 4]
X[i] +=1
X
ممکن است انتظار داشته باشید که x[3] ارزش 2 را داشته باشد و x[4] ارزش 3 را داشته باشد به دلیل اینکه در واقع در i این ایندکسها این تعداد بار تکرار شده است. اما چرا این اتفاق نیافتاده است؟ این به دلیل آن است که، x[i] +=1 به معنی x[i] = x[i] + 1 است و در واقع یک عملگر اختصاری استو نتیجه بر اساس اندیکسهای x رخ می دهد. اگر این را در ذهن داشته باشید این ابهام از بین میرود که چرا با وجود تکرار ایندکسها افزایش چند باره داده نشده است ولی اینگونه تخصیصها خیلی مواقع موجب نتایج ناخواسته می گردد.
بنابراین چه کاری باید انجام دهیم اگر بخواهیم این عملیات تکراری رخ بدهد؟ برای این کار میتوانیم از متد at() در ufunct universal functions توابع فراگیر Numpy استفاده نماییم.
X = np.zeros(10)
np.add.at(x, I, 1)
x
متد at() کاربرد جایگزین برای عملگر قبلی دارد که میتواند جمع را به حاصل فعلی ایندکسها اضافه کنید متد دیگری که شبیه این است reduceat() می باشد که جز ufuncs یا توابع فراگیر Numpy است که درباره آن میتوانید در documentation یا متن های جهت راهنمایی Numpy مطالعه نمایید.
مثال: Binning data
شما میتوانید از این ایده ها استفاده کنید تا به نحو کارآمدی داده را bin نمایید تا یک هیستوگرام را ایجاد کنید.
احتمالا در اینجا منظور از binning data به معنی دسته بندی کردن داده ها با توجه به ارزش آنها است.
برای مثال فرض کنید ما هزار ارزش داشته باشیم و بخواهیم به سرعت پیدا کنیم که آن ارزشها در کدام دسته ها از لحاظ ارزش قرار میگیرند ما میتواینم از ufunc.at در اینجا نیز استفاده کنیم.
Np.random.seed(42)
X = np.random.randn(100)
دکتر اسدی عضو هیات علمی دانشگاه آزاد، دوره آموزشی پایتون ارتباط از طریق موبایل 09305803459 و اکانت تلگرام این خط،
آیدی گروه تلگرام آموزشی برنامه نویسی پایتون: @python765
آیدی کانال متصل به گروه: @python654
فعلا تدریس کتاب python crash course چاپ دوم فایل پی دی اف و کتاب python notes for professionals
محل شرکت کامپیوتری نزدیک مترو شادمان شهر تهران جهت هماهنگیهای حضوری
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «جلسه بیست و ششم از کتاب مرجع علم داده با استفاده از زبان پایتون python data science handbook», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.