برترین ویژگی های Pandas 1.0 — راهنمای کاربردی
نسخه 1.0.0 pandas در تاریخ 9 ژانویه 2020 (19 دی ماه 1398) منتشر شده است. نسخه قبل از آن 0.25 بوده است. اولین نسخه major کتابخانه pandas شامل ویژگیهای جالب زیادی است که شامل جمعبندی خودکار بهتر برای دیتافریمها، قالبهای بیشتر خروجی، انواع داده جدید و حتی یک وبسایت جدید برای مستندات میشود. در این نوشته به بررسی برترین ویژگیهای pandas 1.0 میپردازیم.
توضیحات کامل این نسخه را میتوانید در این صفحه (+) مطالعه کنید، اما در این نوشته تلاش کردهایم با زبانی کمتر فنی، به مرور سریع قابلیتهای مهمتر بپردازیم.
برای استفاده از نسخه جدید میتوانید از دستور pip استفاده کنید و Pandas را ارتقا دهید. در زمان نگارش این نوشته نسخه 1.0 همچنین در مرحله «نامزد انتشار» (release candidate) بوده است که به این معنی است که برای نصب کردن آن باید شماره نسخه را صراحتاً قید کنید:
pip install --upgrade pandas==1.0.0rc0
البته ارتقای Pandas ممکن است موجب از کار افتادن برخی از کدهای شما شود، زیرا این یک نسخه major محسوب میشود. از این رو باید مراقب باشید.
در این نسخه pandas پشتیبانی از پایتون نسخه 2 نیز متوقف شده است. پانداز نسخه 1 به بالا را باید به همراه پایتون نسخه 3.6 به بالا استفاده کنید. از این رو با استفاده از pip نسخه python خود را نیز ارتقا دهید:
$ pip --version pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) $ python --version Python 3.7.5
با استفاده از دستور زیر میتوانید مطمئن شوید که همه چیز به درستی کار کرده و پانداز از نسخه صحیحی استفاده میکند:
>>> import pandas as pd >>> pd.__version__ 1.0.0rc0
جمعبندیهای خودکار بهتر با DataFrame.info
یکی از بهترین قابلیتهای نسخه جدید Pandas متد بهبودیافته DataFrame.info است. هم اکنون این متد قالب بسیار خواناتری دارد و موجب میشود که فرایند کاوش دادهها آسانتر شود.
>>> df = pd.DataFrame({ ...: 'A': [1,2,3], ...: 'B': ["goodbye", "cruel", "world"], ...: 'C': [False, True, False] ...:}) >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null object 2 C 3 non-null object dtypes: int64(1), object(2) memory usage: 200.0+ bytes
قالبهای خروجی برای جداول markdown
ویژگی جالب دیگر نسخه جدید پانداز امکان اکسپورت کردن فریمهای داده به جداول markdown با استفاده از متد جدید DataFrame.to_markdown است:
>>> df.to_markdown() | | A | B | C | |---:|----:|:--------|:------| | 0 | 1 | goodbye | False | | 1 | 2 | cruel | True | | 2 | 3 | world | False |
به این ترتیب نمایش جداول در محلهایی مانند بلاگها با استفاده از gist-های گیتهاب بهبود مییابد:
انواع داده جدید برای مقادیر بولی و رشتهها
پانداز نسخه 1.0 نوع داده experimental را برای مقادیر بولی و رشتهها معرفی کرده است.
از آنجا که این تغییرها آزمایشی هستند، API برای این نوع دادهها ممکن است کمی تغییر یابد، بنابراین از آنها با احتیاط استفاده کنید. اما پانداز پیشنهاد میکند که از این نوع دادهها در هر جایی که ممکن است بهره بگیرید و این که در نسخههای آتی عملکرد عملیات خاص این نوع مانند تطبیق regex بهبود خواهد یافت.
به صورت پیشفرض پانداز به طور خودکار دادههای شما را به این نوع دادهها تبدیل نمیکند. اما میتوانید با اعلام صریح این نکته از پانداز بخواهید که این کار را برای شما انجام دهد:
>>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string") >>> C = pd.Series([False, True, False], dtype="bool") >>> df.B = B, df.C = C >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null string 2 C 3 non-null bool dtypes: int64(1), object(1), string(1) memory usage: 200.0+ bytes
دقت کنید که هم اینک چگونه ستون Dtype انواع جدید string و bool را نمایش میدهد. مهمترین مزیت dtype جدید رشتهای این است که اکنون میتوانید از DataFrame صرفاً ستونهای رشتهای را انتخاب کنید. به این ترتیب ساخت تحلیلهایی از صرفاً مؤلفههای متنی دیتاست آسانتر میشود.
df.select_dtypes("string")
پیشتر تنها میتوانستیم ستونهای نوع رشتهای را با استفاده از تعیین نام به صورت صریح انتخاب کنیم. برای مطالعه موارد بیشتر در خصوص این انواع داده جدید به مستندات (+) مراجعه کنید. از این که این راهنما را مطالعه کردید، متشکریم.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- مجموعه آموزشهای برنامهنویسی
- پانداس (Pandas) — از صفر تا صد
- ۱۰ کتابخانه پایتون علم داده — راهنمای کاربردی
- تقلب نامه (Cheat Sheet) کتابخانه های پایتون — راهنمای کامل و سریع
==