۱۰ کتابخانه پایتون علم داده – راهنمای کاربردی


«زبان برنامهنویسی پایتون» (Python Programming Language) یک زبان برنامهنویسی «سطح بالا» (High Level)، «همه منظوره» (General Purpose) و «شیگرا» (Object Oriented) است. این زبان به دلیل نحو ساده، پشتیبانی از انواع مدلهای برنامهنویسی (شیگرا، دستوری و تابع محور) و کتابخانههای قدرتمندی که برای آن در حوزههای گوناگون نوشته شده، بسیار محبوب و پرکاربرد است. به گزارش builtwith.com، بالغ بر ٪۴۵ از کسبوکارهای فعال در حوزه فناوری، استفاده از پایتون را برای انجام پیادهسازی پروژههای حوزه «هوش مصنوعی» (Artificial Intelligence) و «یادگیری ماشین» (Machine Learning) بهره میبرند. از همین رو و به دلیل محبوبیت این زبان در حوزه «علم داده» (Data Science)، در این مطلب ۱۰ کتابخانه پایتون علم داده معرفی خواهند شد. مطالعه سه مطلب زیر نیز در همین راستا توصیه میشود:
- ۸ کتابخانه یادگیری ماشین پایتون — راهنمای کاربردی
- 13 کتابخانه یادگیری عمیق پایتون — راهنمای کاربردی
- آموزش ساخت کتابخانه در پایتون – از صفر تا صد
کتابخانههای پایتون علم داده
در ادامه لیست کتابخانههای پایتون علم داده ارائه شدهاند. همچنین، تعداد مشارکتکنندگان، کامیتها و ستارههای آنها تا تاریخ ۲۵ آذر ۱۳۹۷ آورده شده است.
۱.Pandas
(+) (تعداد مشارکتکنندگان: ۱۳۲۸، کامیتها ۱۸۱۶۲، ستارهها ۱۶۸۹۰)
Pandas یک کتابخانه پایتون است که ساختارهای داده سریع، انعطافپذیر و رسای طراحی شده برای کار با دادههای «رابطهای» (Relational) یا «برچسبدار» (Labeled) را با سادگی و بینش فراهم میکند. هدف از این کتابخانه آن است که یک بلوک سازنده سطح بالای اساسی برای انجام تحلیلهای «جهان واقعی» (Real World) و کاربردی در پایتون فراهم کند.
۲. Matplotlib
(+) (مشارکتکنندگان: ۷۷۱ نفر، کامیتها: ۲۷۹۳۷، ستارهها: ۸۲۲۴)
Matplotlib یک کتابخانه دوبُعدی پایتون است که «Publication-Quality Figures» را در گسترهای از فرمتهای «Hard Copy» و محیطهای تعاملی در سراسر پلتفرمها فراهم میکند. Matplotlib در اسکریپتهای پایتون، شل پایتون و IPython، «سرورهای برنامه کاربردی وب» (Web Application Servers) و دیگر رابطهای کاربری گرافیکی قابل استفاده است.
۳. NumPy
(+) (مشارکتکنندگان: ۷۰۸ نفر، کامیتها: ۱۹۲۴۱، ستارهها: ۸۶۶۶)
NumPy کتابخانه پایهای مورد نیاز برای محاسبات کامپیوتری با پایتون است. این کتابخانه شی آرایه N-بُعدی، توابع پیچیده، ابزارهایی برای یکپارچهسازی C و C++ و کدهای «فرترن» (Fortran) را فراهم میکند و برای محاسبات جبرخطی، تبدیل فوریه و اعداد تصادفی نیز مفید است.
۴. SciPy
(+) (مشارکتکنندگان: ۶۷۰ نفر، کامیتها: ۲۰۰۸۰، ستارهها: ۵۰۹۶)
SciPy (تلفظ آن به صورت Sigh Pie است) یک نرمافزار متنباز برای ریاضیات، علوم و مهندسی است. این کتابخانه شامل ماژولهایی برای آمار، «بهینهسازی» (Optimization)، یکپارچهسازی، جبرخطی، تبدیل فوریه، پردازش سیگنال و تصاویر، «معادلات دیفرانسیل معمولی» (Ordinary Differential Equation | ODE) و بسیاری از دیگر موارد است.
۵. Bokeh
(+) (مشارکتکنندگان: ۳۲۵ نفر، کامیتها: ۱۷۳۶۵، ستارهها: ۸۴۳۹)
Bokeh یک کتابخانه بصریسازی تعاملی برای پایتون است که ارائه بصری زیبا و معنادار از دادهها در مرورگرهای وب مدرن را امکانپذیر میسازد. با استفاده از Bokeh، میتوان به سرعت و سادگی نمودارهای تعاملی، دشبوردها و برنامههای کاربردی داده را ساخت.
۶. Gensim
(+) (مشارکتکنندگان: ۲۹۹ نفر، کامیتها: ۳۶۷۶، ستارهها: ۸۱۰۷)
Gensim یک کتابخانه پایتون برای مدلسازی موضوع، اندیسگذاری اسناد و بازیابی مشابهت برای نوشتارهای بزرگ است. مخاطب هدف این کتابخانه، جوامع «پردازش زبان طبیعی» (Natural Language Processing | NLP) و «بازیابی اطلاعات» (Information Retrieval | IR) هستند.
۷. Scrapy
(+) (مشارکتکنندگان: ۲۹۵ نفر، کامیتها: ۶۸۰۲، ستاره ۳۰۰۱۴)
Scrapy یک «چارچوب» (Framework) «وب اسکرپینگ» (Web Scraping) و «خزش وب» (Web Crawling) است که برای خزش در وبسایتها و استخراج دادهها از صفحات آنها مورد استفاده قرار میگیرد. این چارچوب برای طیف وسیعی از اهداف از «دادهکاوی» (Data Mining) گرفته تا مانیتورینگ و «تست خودکار» (Automated Testing) قابل استفاده است.
۸. StatsModels
(+) (مشارکتکنندگان: ۱۶۴ نفر، کامیتها: ۱۰۸۶۹، ستارهها: ۳۳۸۳)
Statsmodels یک «بسته» (Package) پایتون است که مکملی برای scipy جهت انجام محاسبات آماری شامل آمار توصیفی و تخمین و استنباط برای مدلهای آماری مورد استفاده قرار میگیرد.
۹. plotly.ly
(+) (مشارکتکنندگان: ۶۲ نفر، کامیتها: ۳۲۹۱، ستارهها: ۴۲۱۸)
plotly.ly یک کتابخانه گرافیکی تعاملی، متنباز و مبتنی بر مرورگر وب برای پایتون است. این کتابخانه بر فراز plotly.js که یک کتابخانه ترسیم نمودار سطح بالا است ساخته شده. plotly.js با بیش از ۳۰ نمونه نمودار، شامل نمودارهای علمی، گرافهای سهبُعدی، نمودارهای آماری ، نقشههای SVG، نمودارهای آماری و بسیاری دیگر موارد است.
۱۰. pydot
(+) (مشارکتکنندگان: ۱۲، کامیتها: ۱۶۹، ستارهها: ۲۶۷)
pydot رابطی برای Graphviz و «زبان توصیف نمودار» (Graph Description Language | DOT) است. این بسته شامل رابطی برای GraphViz با کلاسهایی برای ارائه نمودارها و تبدیل آنها به زبان DOT و یک «تجزیه کننده» (Parser | پارسر) است.
اگر نوشته بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشود:
- مجموعه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- مجموعه آموزشهای شبکههای عصبی مصنوعی
- مجموعه آموزشهای هوش محاسباتی
- آموزش برنامهنویسی R و نرمافزار R Studio
- مجموعه آموزشهای برنامه نویسی متلب (MATLAB)
^^