الباندا إلى القاموس

Albanda Aly Alqamws



'في Python ، يتم استخدام بنية بيانات تسمى القاموس لتخزين المعلومات كأزواج مفتاح-قيمة. تم تحسين كائنات القاموس لاستخراج البيانات / القيم عند معرفة المفتاح أو المفاتيح. ضع في اعتبارك أن القواميس قد تتضمن مفاتيح مكررة. للعثور على القيم بكفاءة باستخدام الفهرس ذي الصلة ، يمكننا تحويل سلسلة الباندا أو إطار البيانات مع فهرس ذي صلة إلى كائن قاموس مع أزواج قيمة ومفتاح 'index: value'. لتحقيق هذه المهمة ، يمكن استخدام طريقة 'to_dict ()'. هذه الوظيفة عبارة عن وظيفة مضمنة موجودة في فئة السلسلة بوحدة الباندا. يتم تحويل إطار البيانات إلى قاموس بيانات يشبه قائمة Python لسلسلة باستخدام طريقة pandas.to_dict () ، اعتمادًا على القيمة المحددة لمعلمة التوجيه. '

كيفية تحويل الباندا إلى قاموس بايثون؟

هناك طرق متعددة لتحويل الباندا إلى قاموس. ومع ذلك ، لتحويل إطار بيانات Pandas إلى قاموس Python ، سنستخدم طريقة to_dict () في Pandas. يمكننا توجيه أزواج القيمة الرئيسية للقاموس الذي تم إرجاعه بعدة طرق باستخدام وظيفة to_dict (). تكون صيغة الوظيفة كما يلي:







بناء الجملة



pandas.to_dict ( الشرق = 'ديكت' ، داخل = )



المعلمات

توجيه: يتم تحديد نوع البيانات المطلوب تحويل الأعمدة (سلسلة إلى) بواسطة قيمة السلسلة ('ديكت' ، 'قائمة' ، 'سجلات' ، 'فهرس' ، 'سلسلة' ، 'تقسيم'). على سبيل المثال ، الكلمة الأساسية 'list' ستعطي قاموس بيثون لكائنات القائمة مع مفاتيح 'Column name' و 'List' (سلسلة محولة) كإخراج.





داخل: class ، يمكن تمريرها كمثيل أو فئة فعلية. على سبيل المثال ، يمكن تمرير مثيل فئة في حالة الإملاء الافتراضي. القيمة الافتراضية للمعلمة هي ديكت.

نوع الإرجاع: تم تحويل القاموس من إطار بيانات أو سلسلة.



مثال # 01: تحويل Pandas Dataframe إلى قاموس

باستخدام مجموعة القوائم في وظيفة pd.DataFrame () ، سننشئ إطار بيانات أساسيًا مع بعض الأعمدة والصفوف حتى نتمكن لاحقًا من تحويله إلى قاموس Python.


لقد أنشأنا إطار البيانات الخاص بنا عن طريق تمرير القائمة داخل وظيفة pd.DataFrame (). في إطار البيانات أعلاه ، لدينا ثلاثة أعمدة 'الشركة' و 'المبيعات' و 'الإيرادات'. في شركة العمود ، قمنا بتخزين أسماء الشركات العشوائية مثل ('A & B' ، 'Max_tech' ، 'XT' ، 'MJ' ، 'Quanto' ، 'Mini_X' ، 'Zomo' ، 'AU' ، 'HL' ، 'ZMX' ، 'Earny') ، يمثل العمود 'sales' مبيعات كل شركة كـ ('217' ، '200' ، '199' ، '150' ، '210' ، '216' ، '185 '،' 189 '،' 202 '،' 159 '،' 205 ') ، ويقوم العمود' الإيرادات 'بتخزين القيم التي تمثل إيرادات كل شركة مقابل المبيعات المعنية (340000 320000 300000 270000 315000 335000 250000 255000 301000 244000 305000). سنقوم الآن بتحويل إطار البيانات 'df' إلى قاموس بيثون.


من خلال تطبيق طريقة to_dict () على df dataframe ، قمنا بتحويل إطار بيانات الباندا إلى قاموس.

مثال # 02: تحويل Pandas Dataframe الذي تم إنشاؤه من ملف CSV إلى قاموس

في المثال رقم 1 ، أنشأنا إطار بيانات باستخدام مجموعات داخل القائمة. سنقوم الآن بإنشاء إطار بيانات بمساعدة ملف CSV ، ثم سنقوم بتحويله إلى قاموس باستخدام الوظيفة to_dict ().


لقراءة ملف كإطار بيانات ، استخدمنا الوظيفة pd.read_csv (). في إطار البيانات أعلاه ، لدينا عمودين (الاسم والعلامات) وسبعة عشر صفًا (من 0 إلى 16). الآن سوف نستخدم طريقة to_dict ().


قامت الوظيفة بتحويل إطار البيانات الخاص بنا 'df' إلى قاموس بيثون.

مثال # 03: تحويل Pandas Dataframe إلى القاموس الذي يحتوي على قوائم القيم

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


لقد أنشأنا إطار البيانات الذي يحتوي على ثلاثة أعمدة 'الاسم' و 'البلد' و 'العمر'. في العمود 'name' ، قمنا بتخزين قيم البيانات ('Anna' ، 'Marty' ، 'Carl' ، 'Mary' ، 'Cleb' ، 'Ali' ، 'Alexa' ، 'Becky' ، 'Ryan') . في حين أن الدولة والعمر في الأعمدة الأخرى هي قيم قوية مثل ('USA' ، 'England' ، 'USA' ، 'France' ، 'Russia' ، 'Russia' ، 'France' ، 'England' ، 'USA') و ( 34 ، 32 ، 30 ، 27 ، 31 ، 33 ، 35 ، 25 ، 30) على التوالي. سننشئ قاموسًا يحتوي على القوائم باستخدام معلمة 'list' داخل طريقة to_dict ().


باستخدام معلمة list كوسيطة داخل وظيفة to_list () ، قمنا بإنشاء قاموس يحتوي على قوائم متعددة.

مثال # 03: تحويل Pandas Dataframe إلى القاموس الذي يحتوي على سلسلة القيم

عندما يلزم تحويل DataFrame إلى قاموس ، فإن اسم العمود يعمل كمفاتيح القاموس وفهرس الصف والبيانات الموجودة في العمود كقيمة للمفاتيح المقابلة في القاموس.


لقد أنشأنا إطار البيانات المطلوب باستخدام طريقة pd.DataFrame (). في إطار البيانات الذي تم إنشاؤه مؤخرًا ، لدينا عمودين. يخزن عمود الاسم قيم البيانات كسلسلة ('Kim' ، 'Morris' ، 'Casper' ، 'Milli' ، 'Dave' ، 'Will' ، 'Billy') ، بينما تتكون أعمدة العلامات من بيانات رقمية مثل ( 8 ، 9 ، 6 ، 7 ، 10 ، 7 ، 8). سنستخدم المعامل 'series' كسلسلة داخل دالة to_dict ().

مثال # 04: تحويل Pandas Dataframe إلى قاموس بدون فهرس ورأس

يمكن استخدام المعلمة 'split' الخاصة بوظيفة to_dict () لاستخراج البيانات من DataFrame بدون رؤوس الأعمدة أو عندما نحتاج إلى إزالة فهرس الصف والرأس من البيانات. يتم تقسيم تسميات الأعمدة وفهرس الصف والبيانات الفعلية إلى ثلاثة مكونات باستخدام هذه المعلمة. دعنا ننشئ إطار بيانات ، حتى نتمكن من تقسيمه إلى ثلاثة أجزاء أثناء تحويله إلى القاموس.


لقد أنشأنا عمودين بهما تسميات 'الاسم' و 'العمر' تحتويان على قيم ('ديف' و 'موريس' و 'بيلي' و 'ميلي' و 'كيم' و 'ويل' و 'كاسبر') و (19 ، 19 ، 25 ، 21 ، 19 ، 21 ، 23) على التوالي. فلنحولهم إلى قواميس بيثون.


باستخدام مفتاح 'البيانات' ، يمكننا استرداد البيانات من القاموس الناتج بدون فهرس أو رأس.

مثال # 05: تحويل Pandas Dataframe إلى القاموس عن طريق فهرس الصف والصف

يمكن استخدام المعلمة 'سجل' داخل وظيفة to_dict () لتخزين بيانات كل صف إطار بيانات في كائنات قاموس مميزة متعددة داخل قائمة أو عندما تكون البيانات على مستوى الصف مطلوبة. سيتم إرجاع قائمة تحتوي على كائنات القاموس. قاموس مع تسمية العمود كمفتاح وبيانات العمود كقيمة لكل صف.


لقد أنشأنا إطار بيانات بأعمدة 'الاسم' و 'المرتب'. يحتوي عمود 'الاسم' على قيم البيانات ('Leo' و 'Haris' و 'Wanda' و 'Mike' و 'Kelly' و 'Adam' و 'Jack') ، ويخزن عمود الراتب القيم (12000 ، 12500 ، 14000 ، 11000 ، 12000 ، 13000 ، 12500). فلنقم الآن بإنشاء قائمة بقواميس بيثون متعددة تحتوي على بيانات كل صف.


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

استنتاج

في هذا البرنامج التعليمي ، ناقشنا كيف يمكننا تحويل كائنات dataframe أو pandas إلى قاموس Python. لقد رأينا صيغة الدالة to_dict () لفهم معاملات هذه الوظيفة وكيف يمكنك تعديل ناتج الوظيفة عن طريق تحديد الوظيفة بمعلمات مختلفة. في أمثلة هذا البرنامج التعليمي ، استخدمنا طريقة to_dict () ، وهي دالة باندا داخلية ، لتغيير كائنات الباندا إلى قاموس بيثون.