برترین ویژگی های Pandas 1.0 — راهنمای کاربردی

۴۷ بازدید
آخرین به‌روزرسانی: ۲۸ خرداد ۱۴۰۱
زمان مطالعه: ۳ دقیقه
برترین ویژگی های 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

pandas 1.0

قالب‌های خروجی برای جداول 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")

پیش‌تر تنها می‌توانستیم ستون‌های نوع رشته‌ای را با استفاده از تعیین نام به صورت صریح انتخاب کنیم. برای مطالعه موارد بیشتر در خصوص این انواع داده جدید به مستندات (+) مراجعه کنید. از این که این راهنما را مطالعه کردید، متشکریم.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
towardsdatascience
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *