ما جلب لنا Pandas 1.0

ما جلب لنا Pandas 1.0

صدر Pandas 9rc في 1.0.0 يناير. الإصدار السابق للمكتبة هو 0.25.

يحتوي الإصدار الرئيسي الأول على العديد من الميزات الرائعة ، بما في ذلك التلخيص التلقائي المحسن لأطر البيانات ، والمزيد من تنسيقات الإخراج ، وأنواع البيانات الجديدة ، وحتى موقع التوثيق الجديد.

يمكن عرض جميع التغييرات هنا، في المقالة سنقتصر على مراجعة صغيرة وأقل تقنية لأهم شيء.

يمكنك تثبيت المكتبة كالمعتاد باستخدام ملفات بذرة، ولكن منذ وقت كتابة هذا التقرير ، لا يزال Pandas 1.0 الافراج عن مرشح، سوف تحتاج إلى تحديد الإصدار بشكل صريح:

pip install --upgrade pandas==1.0.0rc0

كن حذرًا: نظرًا لأنه إصدار رئيسي ، فقد يكسر التحديث الكود القديم!

بالمناسبة ، تم إسقاط دعم Python 2 تمامًا من هذا الإصدار (ما يمكن أن يكون سببًا جيدًا обновиться - تقريبا. ترجمة.). يتطلب Pandas 1.0 على الأقل Python 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 الجديد تجريبي أنواع. قد تتغير واجهة برمجة التطبيقات الخاصة بهم ، لذا استخدمها بحذر. ولكن بشكل عام ، توصي Pandas باستخدام أنواع جديدة حيثما كان ذلك منطقيًا.

في الوقت الحالي ، يجب أن يتم التمثيل بشكل صريح:

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

لاحظ كيف العمود نوع يعرض أنواعًا جديدة - سلسلة и منطقي.

الميزة الأكثر فائدة لنوع السلسلة الجديد هي الاختيار أعمدة الصف فقط من إطارات البيانات. يمكن أن يؤدي ذلك إلى تبسيط تحليل بيانات النص بشكل كبير:

df.select_dtypes("string")

في السابق ، لم يكن من الممكن تحديد أعمدة الصف بدون أسماء صريحة.

يمكنك قراءة المزيد عن الأنواع الجديدة هنا.

شكرا للقراءة! يمكن الاطلاع على القائمة الكاملة للتغييرات ، كما ذكرنا سابقًا هنا.

المصدر: www.habr.com

إضافة تعليق