ماذا تفعل عندما لا يتعرف الباندا على سلسلة البيانات NA / ND كقيمة مفقودة
قيم مفقودة في الباندا
في مجموعات البيانات التجريبية ، يمكن استكمال الفراغات بـ NA أو NA (لم يتم تحليلها) أو ND أو ND (لم يتم اكتشافها). في الباندا ، يتم التعرف على NA و ND على أنهما مجرد سلسلة أحرف (كائن) ، لذلك لا يمكن معالجة القيم المفقودة على دفعات باستخدام دالات dropna () و fillna () و isnull () كما هي. ..
يتم التعرف على القيم التالية كقيم مفقودة في الباندا:
- نان
- بدون اضاءة
- np. نان
- الرياضيات .نان
يجب تحويل السلاسل NA و ND إلى واحدة مما سبق.
تجهيز NA و ND
إنشاء بيانات نموذجية بما في ذلك NA و ND و NaN.
في [1]: import numpy as np import pandas as pd df = pd.DataFrame ({'A': [1، 'ND'، 2، 3]، 'B': [4، 'NA'، 5، 6 ]، 'C': [7، 'ND'، None، np.nan]}) خرج [1] ABC 0 1 4 7 1 ND NA ND 2 2 5 NaN 3 3 5 NaN
لايتم التعرف على ne و np.nan وحسابهما كقيم مفقودة ، لكن ND و NA خطأ.
isnull (): إرجاع True إذا كانت القيمة مفقودة
isnull.sum (): تجميع القيم المفقودة
في [2]: df.isnull () Out [2]: ABC 0 False False 1 False False 2 False False True 3 False False True فى [3]: df.isnull (). Sum () Out [3] : أ 0 ب 0 ج 2 النوع: int64
استبدل ND السلسلة بوظيفة الاستبدال
في [4]: df = df.replace ('ND'، np.nan) إخراج [4]: A B C 0 1 4 7 1 NaN NA NaN 2 2 5 NaN 3 3 5 NaN
يمكن الآن تطبيق isnull () و fillna ().
في [5]: df.isnull () Out [5]: ABC 0 False False 1 True False True 2 False False True 3 False False True In [6]: df.isnull (). Sum () Out [6] : A 2 B 0 C 2 dtype: int64 In [7]: df.fillna (10) Out [7]: ABC 0 1 4 7 1 10 NA 10 2 2 5 10 3 3 5 10
نقاش
قائمة التعليقات
لا توجد أي تعليقات حتى الآن