آنچه Pandas 1.0 برای ما به ارمغان آورد

آنچه Pandas 1.0 برای ما به ارمغان آورد

در 9 ژانویه، Pandas 1.0.0rc منتشر شد. نسخه قبلی این کتابخانه 0.25 است.

اولین نسخه اصلی شامل بسیاری از ویژگی‌های جدید عالی، از جمله بهبود خلاصه‌سازی قاب داده‌ای خودکار، فرمت‌های خروجی بیشتر، انواع داده‌های جدید، و حتی یک سایت مستندات جدید است.

همه تغییرات قابل مشاهده است اینجا، در مقاله خود را به بررسی کوچک و فنی کمتر از مهمترین چیزها محدود می کنیم.

می توانید کتابخانه را طبق معمول نصب کنید شکستن، اما از آنجایی که در زمان نگارش Pandas 1.0 هنوز وجود دارد کاندیدای انتشار، باید به صراحت نسخه را مشخص کنید:

pip install --upgrade pandas==1.0.0rc0

مراقب باشید: از آنجایی که این یک نسخه اصلی است، به روز رسانی ممکن است کد قدیمی را خراب کند!

ضمناً پشتیبانی از Python 2 از این نسخه به طور کامل قطع شده است (چه دلیل خوبی می تواند باشد به روز رسانی - تقریبا ترجمه). Pandas 1.0 حداقل به پایتون 3.6+ نیاز دارد، بنابراین اگر مطمئن نیستید، بررسی کنید که کدام یک را نصب کرده اید:

$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

$ python --version
Python 3.7.5

ساده ترین راه برای بررسی نسخه Pandas این است:

>>> import pandas as pd
>>> pd.__version__
1.0.0rc0

بهبود خلاصه سازی خودکار با DataFrame.info

نوآوری مورد علاقه من به روز رسانی روش بود 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 |

این امر انتشار جداول در سایت هایی مانند Medium را با استفاده از github gists بسیار آسان تر می کند.

آنچه Pandas 1.0 برای ما به ارمغان آورد

انواع جدید رشته ها و بولی ها

نسخه Pandas 1.0 نیز جدید اضافه شده است تجربی انواع API آنها ممکن است همچنان تغییر کند، بنابراین با احتیاط از آن استفاده کنید. اما به طور کلی، پانداها استفاده از انواع جدید را در هر کجا که منطقی است توصیه می کنند.

در حال حاضر، بازیگران باید به صراحت انجام شود:

>>> 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

به نحوه ستون توجه کنید نوع D انواع جدید - را نمایش می دهد رشته и بول.

کاربردی ترین ویژگی نوع رشته جدید امکان انتخاب است فقط ستون های ردیف از دیتافریم ها این می تواند تجزیه داده های متنی را بسیار آسان تر کند:

df.select_dtypes("string")

قبلاً، ستون‌های ردیف را نمی‌توان بدون مشخص کردن صریح نام انتخاب کرد.

می توانید در مورد انواع جدید بیشتر بخوانید اینجا.

با تشکر از شما برای خواندن! لیست کامل تغییرات، همانطور که قبلا ذکر شد، قابل مشاهده است اینجا.

منبع: www.habr.com

اضافه کردن نظر