ما جلب لنا الباندا 1.0


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


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


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


يمكنك تثبيت المكتبة كالمعتاد باستخدام pip ، ولكن نظرًا لأن وقت كتابة المقال لا يزال 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 

إخراج الجدول في تنسيق تخفيض السعر


كان الابتكار الممتع بنفس القدر هو القدرة على تصدير إطارات البيانات إلى جداول تخفيض السعر باستخدام DataFrame.to_markdown .


 >>> df.to_markdown() | | A | B | C | |---:|----:|:--------|:------| | 0 | 1 | goodbye | False | | 1 | 2 | cruel | True | | 2 | 3 | world | False | 

هذا يبسط إلى حد كبير نشر الجداول على مواقع مثل متوسط ​​باستخدام github gistub.



أنواع جديدة للأوتار والمنطقات


أضاف الباندا 1.0 أيضًا أنواعًا تجريبية جديدة. API الخاصة بهم عرضة للتغيير ، لذا استخدمها بحذر. ولكن بشكل عام ، توصي 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 

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


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


 df.select_dtypes("string") 

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


يمكن الاطلاع على المزيد حول الأنواع الجديدة هنا .




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

Source: https://habr.com/ru/post/ar483720/


All Articles