Pandas هي مكتبة بايثون قوية لمعالجة البيانات وتحليلها. جوهرها هو DataFrame، وهو بنية بيانات مُلصقة ثنائية الأبعاد متعددة الاستخدامات. غالبًا ما ستحتاج إلى إنشاء DataFrames من البيانات الموجودة، وتوفر القوائم نقطة بداية شائعة وملائمة. تستعرض هذه المقالة عدة طرق فعّالة لإنشاء Pandas DataFrames من هياكل قائمة متنوعة.
جدول المحتويات
- الطريقة الأولى: من قائمة بسيطة
- الطريقة الثانية: من قائمة قوائم
- الطريقة الثالثة: من قائمة قواميس
- الطريقة الرابعة: الاستفادة من مصفوفات NumPy
- الخلاصة
- الأسئلة الشائعة
الطريقة الأولى: من قائمة بسيطة
أبسط نهج يستخدم قائمة واحدة لإنشاء DataFrame. هذا مثالي للبيانات التي تمثل عمودًا واحدًا.
import pandas as pd
data = [10, 20, 30, 40, 50]
df = pd.DataFrame(data, columns=['Values'])
print(df)
هذا ينشئ DataFrame بعمود واحد، “Values”، مملوء بعناصر من قائمة data
.
الطريقة الثانية: من قائمة قوائم
بالنسبة إلى DataFrames متعددة الأعمدة، تعد قائمة القوائم أكثر تنوعًا. تمثل كل قائمة داخلية صفًا.
import pandas as pd
data = [[1, 'Alice', 25], [2, 'Bob', 30], [3, 'Charlie', 28]]
df = pd.DataFrame(data, columns=['ID', 'Name', 'Age'])
print(df)
تحتوي القائمة الخارجية على الصفوف، وcolumns
يحدد أسماء الأعمدة. تأكد من أن كل قائمة داخلية لها نفس الطول مثل عدد الأعمدة.
الطريقة الثالثة: من قائمة قواميس
توفر هذه الطريقة قابلية قراءة ومرونة محسّنتين، خاصةً مع الأعمدة المسمّاة. يمثل كل قاموس صفًا، مع مفاتيح كأسماء أعمدة.
import pandas as pd
data = [{'ID': 1, 'Name': 'Alice', 'Age': 25},
{'ID': 2, 'Name': 'Bob', 'Age': 30},
{'ID': 3, 'Name': 'Charlie', 'Age': 28}]
df = pd.DataFrame(data)
print(df)
يتم استنتاج أسماء الأعمدة تلقائيًا من مفاتيح القاموس. يُفضّل هذا بشكل عام من أجل الوضوح، خاصةً مع مجموعات البيانات الكبيرة.
الطريقة الرابعة: الاستفادة من مصفوفات NumPy
بالنسبة للبيانات العددية، توفر مصفوفات NumPy مزايا أداء.
import pandas as pd
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)
يُحسّن تخزين NumPy الفعال سرعة إنشاء DataFrame، خاصةً مع البيانات العددية الواسعة.
الخلاصة
يُوفر إنشاء Pandas DataFrames من القوائم سير عمل مرنًا وفعالًا. يعتمد أفضل نهج على بنية بياناتك واحتياجات الأداء. غالبًا ما توفر قوائم القواميس أفضل توازن بين سهولة القراءة وسهولة الاستخدام، بينما تعد مصفوفات NumPy مثالية لتحسين الأداء مع مجموعات البيانات العددية الكبيرة.
الأسئلة الشائعة
- س: ماذا لو كانت القوائم الداخلية ذات أطوال متفاوتة؟ ج: سيرفع Pandas خطأ
ValueError
. حافظ على أطوال ثابتة عبر جميع القوائم الداخلية. - س: هل يمكنني إنشاء DataFrame بصف واحد؟ ج: نعم، استخدم أي طريقة بقائمة واحدة، أو قائمة تحتوي على قائمة داخلية واحدة، أو قائمة تحتوي على قاموس واحد.
- س: كيف يعالج Pandas أنواع البيانات المختلطة؟ ج: يستنتج Pandas نوع البيانات الأنسب لكل عمود.
- س: كيف أمثّل البيانات المفقودة؟ ج: استخدم
np.nan
(ليس رقمًا) لتمثيل القيم المفقودة.