في 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):
إخراج الجدول في تنسيق تخفيض السعر
كان الابتكار الممتع بنفس القدر هو القدرة على تصدير إطارات البيانات إلى جداول تخفيض السعر باستخدام 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):
لاحظ كيف يعرض عمود Dtype الأنواع الجديدة - السلسلة والقيمة المنطقية .
الميزة الأكثر فائدة لنوع السلسلة الجديدة هي أنه من الممكن تحديد أعمدة الصفوف فقط من إطارات البيانات. هذا يمكن أن يبسط إلى حد كبير تحليل البيانات النصية:
df.select_dtypes("string")
في السابق ، لا يمكن تحديد أعمدة الصف بدون أسماء صريحة.
يمكن الاطلاع على المزيد حول الأنواع الجديدة هنا .
شكرا للقراءة! يمكن الاطلاع هنا على قائمة التغييرات الكاملة ، كما ذكرنا من قبل.