English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مثال على عمليات البيانات الفارغة الخاصة بـ Pandas
عندما يتم تجاهل أي بيانات لا تتطابق مع القيمة المحددة (NaN / قيم مفقودة، على الرغم من أنه يمكن اختيار أي قيمة) يتم 'كبس' الكائن الفارغ. يتبع SparseIndex الخاص بكائن الفارغ مواقع التوزيع للبيانات. في مثال، سيكون ذلك أكثر وضوحًا. تطبق جميع بنيات البيانات القياسية الخاصة بـ Pandas طريقة to_sparse:
import pandas as pd import numpy as np ts = pd.Series(np.random.randn(10)) ts[2:-2] = np.nan sts = ts.to_sparse() print sts
النتائج التالية:
0 -0.810497 1 -1.419954 2 NaN 3 NaN 4 NaN 5 NaN 6 NaN 7 NaN 8 0.439240 9 -1.095910 dtype: float64 BlockIndex مكامع اللوالب: array([0, 8], dtype=int32) أطوال اللوالب: array([2, 2], dtype=int32)
لزيادة كفاءة الذاكرة، هناك كائنات فراغية.
الآن دعنا نفترض أن لديك DataFrame كبير يحتوي على NA ونفذ الت seguinte código-
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10000, 4)) df.ix[:9998] = np.nan sdf = df.to_sparse() print sdf.density
النتائج التالية:
0.0001
يمكن تحويل أي كائن فجوي إلى شكل كثيف باستخدام to_dense
import pandas as pd import numpy as np ts = pd.Series(np.random.randn(10)) ts[2:-2] = np.nan sts = ts.to_sparse() print sts.to_dense()
النتائج التالية:
0 -0.810497 1 -1.419954 2 NaN 3 NaN 4 NaN 5 NaN 6 NaN 7 NaN 8 0.439240 9 -1.095910 dtype: float64
يجب أن يكون نوع البيانات لبيانات الفجوات متطابقًا مع تمثيله الكثيف. حاليًا، يدعم float64،int64 و bool types. يعتمد القيمة الافتراضية للfill_value على النوع الأصلي للdtype.
float64 − np.nan int64 − 0 bool − False
سنقوم تنفيذ الكود التالي لفهمها:
import pandas as pd import numpy as np s = pd.Series([1, np.nan, np.nan]) print s s.to_sparse() print s
النتائج التالية:
0 1.0 1 NaN 2 NaN dtype: float64 0 1.0 1 NaN 2 NaN dtype: float64