لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پانداهای سریعتر
Faster pandas
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
دانشمندان داده اغلب پانداها را ترجیح می دهند ، زیرا به آنها امکان می دهد با مقدار بیشتری از داده ها به طور کارآمد کار کنند - کیفیتی مفید با بزرگتر و بزرگتر شدن مجموعه داده ها. در این دوره ، مربی Miki Tebeka به شما نشان می دهد که چگونه سرعت و کارایی کد پاندا را بهبود ببخشید. ابتدا ، میکی توضیح می دهد که چرا عملکرد مهم است و چگونه می توانید آن را با نمایه های پایتون اندازه بگیرید. سپس ، دوره به شما می آموزد که چگونه با استفاده از بردار برای دستکاری داده ها استفاده کنید. این دوره همچنین با برخی از اشتباهات رایج و چگونگی رفع آنها روبرو می شود.
پایتون و پاندا عملکردهای داخلی زیادی دارند که عملکرد بالایی دارند و Miki نحوه استفاده از آنها را پوشش می دهد. پانداها می توانند از حافظه زیادی استفاده کنند ، بنابراین Miki نکات خوبی در مورد نحوه ذخیره سازی حافظه ارائه می دهد. این دوره نحوه سریال سازی داده ها با SQL و HDF5 را نشان می دهد. سپس Miki در مورد چگونگی سرعت بخشیدن به کد شما با Numba و Cython صحبت می کند. فریم های داده جایگزین نیز می توانند سرعت کد شما را افزایش دهند ، و Miki از طریق برخی گزینه ها گام برمی دارد. به علاوه ، در چند منبع اضافی کاوش کنید که می توانید بررسی کنید.
سرفصل ها و درس ها
مقدمه
Introduction
پانداها و عملکرد
pandas and performance
آنچه شما باید بدانید
What you should know
کار با پرونده ها در GitHub
Working with the files on GitHub
1. بررسی اجمالی
1. Overview
چرا عملکرد مهم است
Why performance matters
تعیین اهداف
Setting goals
اندازه گیری کارایی
Measuring performance
نمایه سازی
Profiling
چالش: گلوگاه را شناسایی کنید
Challenge: Identify bottleneck
راه حل: گلوگاه را شناسایی کنید
Solution: Identify bottleneck
2. مجسم سازی
2. Vectorization
بردار سازی چیست؟
What is vectorization?
نمایه سازی بولی
Boolean indexing
درک ufunc ها
Understanding ufuncs
چالش: انتخاب و دستکاری داده ها
Challenge: Selecting and manipulating data
راه حل: انتخاب و دستکاری داده ها
Solution: Selecting and manipulating data
3. اشتباهات رایج
3. Common Mistakes
محدودیت های پیوست
The limitations of appending
محدودیت های نوع dject
The limitations of object dtype
محدودیت های تکرار ردیف
The limitations of row iteration
درک عملکرد isin
Understanding the isin function
زمان تجزیه یک بار
Parsing time once
چالش: جستجوی DataFrame
Challenge: Query a DataFrame
راه حل: جستجوی DataFrame
Solution: Query a DataFrame
4. عملکرد پانداها
4. pandas Performance
استفاده از توابع داخلی
Using built-in functions
درک دلیل و س quال
Understanding eval and query
درک عملکرد join
Understanding the join function
چالش: پیوستن و پرس و جو
Challenge: Join and query
راه حل: پیوستن و پرس و جو
Solution: Join and query
5. ذخیره حافظه
5. Saving Memory
چرا حافظه مهم است؟
Why memory is important?
اندازه گیری حافظه
Measuring memory
در حال بارگیری بخشهایی از داده ها
Loading parts of data
داده های دسته بندی شده
Categorical data
چالش: کاهش حافظه
Challenge: Reducing memory
راه حل: کاهش حافظه
Solution: Reducing memory
6. سریال سازی سریع
6. Fast Serialization
قالب های مختلف و چرا CSV نیست
Various formats and why not CSV
بهینه سازی با SQL
Optimizing with SQL
بهینه سازی با HDF5
Optimizing with HDF5
چالش: مدت دوچرخه سواری
Challenge: Bike ride duration
راه حل: مدت دوچرخه سواری
Solution: Bike ride duration
7. Numba و Cython
7. Numba and Cython
Numba چیست؟
What is Numba?
با استفاده از Numba
Using Numba
سیتون چیست؟
What's Cython?
نوشتن کد سیتون
Writing Cython code
تدوین سیتون
Compiling Cython
جادوی سیتون ٪٪
%%cython magic
چالش: سرعت سیتون
Challenge: Cython speedup
راه حل: سرعت سیتون
Solution: Cython speedup
8. فریم های داده جایگزین
8. Alternative DataFrames
مروری بر DataFrames جایگزین
Overview of alternative DataFrames
با استفاده از Dask
Using Dask
با استفاده از Vaex
Using Vaex
چالش: Vaex در مقابل پانداها
Challenge: Vaex vs. pandas
راه حل: Vaex در مقابل پانداها
Solution: Vaex vs. pandas
در کار خود در 353Solutions، Miki کارگاه های عملی ارائه می دهد که به متخصصان کمک می کند درک خود را از Python تقویت کنند. و برو. علاوه بر این، او خدمات مشاوره ای متناسب با تخصص در ساخت زیرساخت های کلان داده را ارائه می دهد. همانطور که کار او در 353Solutions نشان می دهد، او در Python and Go و همچنین C++، JavaScript، Clojure و موارد دیگر مهارت بالایی دارد.
نمایش نظرات