تحتوي مكتبة الباندا ، المستخدمة للعمل مع بيانات بايثون ، على العديد من الوظائف لمعالجة أعمدة البيانات. تتيح لك هذه الوظائف إجراء العديد من عمليات التلاعب بالبيانات ، مثل تغيير نوع البيانات وإزالة التكرارات والتصفية والتجميع.
تتمثل إحدى العمليات الأكثر شيوعا في تغيير نوع بيانات العمود. في الباندا ، وذلك باستخدام وظيفة أستيب () ، يمكنك بسهولة تحويل نوع بيانات العمود إلى واحد آخر. على سبيل المثال ، إذا كان العمود يحتوي على أرقام كسلاسل ، فإن وظيفة أستيب() تسمح لك بتحويلها إلى نوع بيانات رقمي.
لتصفية البيانات في عمود ، يمكنك استخدام وظيفة الاستعلام (). يسمح لك بتحديد تلك الخطوط التي تفي بشرط معين فقط. على سبيل المثال ، يمكنك تحديد جميع الصفوف التي تكون فيها القيم الموجودة في العمود أكبر من رقم معين أو تتوافق مع صف معين.
وظيفة أخرى مفيدة هي مجموعة (). يسمح لك بتجميع البيانات حسب القيم في عمود وتطبيق وظائف تجميع مختلفة على مجموعات ، مثل المجموع أو المتوسط أو الوسيط. يعد هذا مناسبا جدا عند تحليل كميات كبيرة من البيانات ويسمح لك بالحصول على ملخصات إعلامية.
في هذه المقالة ، نظرنا فقط في بعض الأمثلة على استخدام وظائف لمعالجة الأعمدة في الباندا. هناك عدد كبير من الوظائف المفيدة الأخرى في المكتبة التي تسمح بمعالجة البيانات بشكل أكثر تعقيدا. والتعرف على نفسك معهم تساعدك على العمل بشكل أكثر فعالية مع البيانات في بيثون وجعل البحوث الخاصة بك أكثر إنتاجية.
- أمثلة على استخدام وظائف الباندا لمعالجة الأعمدة
- 1. الجمع بين الأعمدة
- 2. تطبيق دالة على عمود
- 3. تصفية العمود
- 4. تجميع الأعمدة
- 5. تحويل أنواع بيانات الأعمدة
- 6. حذف الأعمدة
- مثال 1: معالجة القيم الرقمية في الأعمدة
- مثال 2: العمل مع البيانات الفئوية في الأعمدة
- مثال 3: استخدام الوظائف للعمل مع التواريخ والأوقات في الأعمدة
- مثال 4: تحويل قيم النص في الأعمدة
- سؤال وجواب
- كيف يمكنني استخدام وظائف معالجة العمود في الباندا?
- كيف يمكنني تطبيق وظيفة بلدي إلى عمود في الباندا?
- كيف يمكنني تطبيق دالة رياضية على عمود في الباندا?
أمثلة على استخدام وظائف الباندا لمعالجة الأعمدة
توفر مكتبة الباندا أدوات قوية للعمل مع البيانات ، بما في ذلك وظائف لمعالجة الأعمدة. في هذا القسم ، سنلقي نظرة على عدة أمثلة لاستخدام هذه الوظائف.
1. الجمع بين الأعمدة
. على سبيل المثال ، إذا كان لدينا عمودان "الاسم الأول" و "اسم العائلة" ، فيمكننا دمجهما في عمود "الاسم الكامل" على النحو التالي:
مدافع ["الاسم الكامل"] = مدافع ["الاسم الأول"] + "" + مدافع ["الاسم الأخير"]2. تطبيق دالة على عمود
وظيفة إلى العمود "أرقام" ، يمكننا أن نفعل ذلك مثل هذا:
استيراد نومبي كما نب
مدافع ["الجذر"] = مدافع ["أرقام"].تطبيق (نب.الجذر التربيعي)
3. تصفية العمود
. على سبيل المثال ، إذا كان لدينا داتافريم دف مع أعمدة متعددة ، ونحن نريد لتحديد فقط الأعمدة التي تحتوي على كلمة "الكثافة" ، يمكننا القيام بذلك على النحو التالي:
دف _ تصفية = دف.مرشح (مثل= "الكثافة")4. تجميع الأعمدة
. على سبيل المثال ، إذا كان لدينا داتافريم دف مع الأعمدة "المدينة" و "درجة الحرارة" ، ونحن نريد لحساب متوسط درجة الحرارة لكل مدينة ، يمكننا أن نفعل ذلك مثل هذا:
<url>.مجموعة ("المدينة") ["درجة الحرارة"].يعني()5. تحويل أنواع بيانات الأعمدة
:
دف ["العمر"] = دف ["العمر"].أستيبي (إنت)6. حذف الأعمدة
. على سبيل المثال ، إذا كان لدينا داتافريم دف مع الأعمدة "الاسم الأول" ، "اسم العائلة" و "العمر" ، ونحن نريد حذف الأعمدة" الاسم الأول " و "اسم العائلة" ، يمكننا أن نفعل ذلك مثل هذا:
مدافع = مدافع.إسقاط (["الاسم الأول" ،" اسم العائلة"] ، المحور = 1)في هذا القسم ، قمنا بمراجعة العديد من الأمثلة على استخدام وظائف الباندا لمعالجة الأعمدة. توفر مكتبة الباندا العديد من الوظائف المفيدة الأخرى التي يمكن استخدامها للعمل مع البيانات.
مثال 1: معالجة القيم الرقمية في الأعمدة
تتمثل إحدى المهام الرئيسية عند العمل مع البيانات في معالجة القيم الرقمية. هناك العديد من الوظائف في مكتبة الباندا التي تجعل من السهل إجراء مثل هذه المعالجة.
لنلق نظرة على مثال بسيط لدينا فيه عمود عمر بقيم رقمية ، ونريد تطبيق عدة وظائف على هذه القيم:
- ابحث عن الحد الأدنى للقيمة
- أوجد القيمة القصوى
- احسب متوسط القيمة
- احسب الوسيط
لتبدأ ، استيراد مكتبة الباندا:
استيراد الباندا كما بدبعد ذلك ، قم بإنشاء إطار بيانات من القوائم:
البيانات = {'اسم': ['أليكسي' ، 'ماريا' ، 'إيفان' ، ' آنا ' ، 'ديمتري'],
'العمر': [25, 30, 35, 40, 45]}
دف = بد.داتافريم (البيانات)
الآن يمكننا استخدام وظائف لمعالجة القيم الرقمية في العمود العمر. للقيام بذلك ، يمكننا الرجوع إلى العمود باسمه وتطبيق الوظيفة المطلوبة:
الحد الأدنى من العمر = مدف['العمر'].دقيقة()
الحد الأقصى للعمر = دف['العمر'].ماكس()
متوسط العمر = مدف['العمر'].يعني()
ميدير_سن = دف['العمر'].الوسيط()
دعونا طباعة النتائج:
طباعة ("الحد الأدنى للسن:" ، الحد الأدنى للعمر)
طباعة ("الحد الأقصى للعمر:" ، الحد الأقصى للعمر)
طباعة ("متوسط العمر:" ، متوسط العمر)
طباعة ("متوسط العمر:" ، متوسط العمر)
خاتمة:
الحد الأدنى للسن: 25
الحد الأقصى للعمر: 45
متوسط العمر: 35.0
متوسط العمر: 35.0
كما ترى من النتائج ، نجحنا في معالجة القيم الرقمية في عمود" العمر " ووجدنا الحد الأدنى والحد الأقصى للقيم والمتوسط والوسيط.
مثال 2: العمل مع البيانات الفئوية في الأعمدة
الباندا لديها القدرة على العمل مع البيانات الفئوية ، والتي يمكن أن تأخذ عددا محدودا من القيم الفريدة. يمكن تحسين هذه البيانات في الذاكرة ، وكذلك إجراء عمليات مختلفة عليها.
على سبيل المثال ، ضع في اعتبارك عمود "المدينة" في الجدول الذي يحتوي على معلومات حول عملاء البنك. قد يكون هناك عدد محدود من المدن في هذا العمود ، على سبيل المثال ، "موسكو" ، "سانت بطرسبرغ" ، "نوفوسيبيرسك" ، إلخ.
أولا ، تحتاج إلى تحويل العمود إلى نوع" الفئة". للقيام بذلك ، الباندا لديه أسلوب أستيب () ، والذي يسمح لك بتغيير نوع بيانات العمود:
['المدينة'] = ['المدينة'].نوع ('الفئة')
ثم يمكنك إجراء عمليات مختلفة باستخدام البيانات الموجودة في عمود" المدينة". على سبيل المثال ، يمكنك فرز صفوف الجدول حسب القيمة في عمود "المدينة" باستخدام طريقة فرز القيم() :
مدافع = مدافع.تصنيف القيم (حسب = 'المدينة')
يمكنك أيضا الحصول على قائمة بجميع القيم الفريدة في عمود "المدينة" باستخدام السمة الفريدة() :
مدن = مدافع ['مدينة'].فريد()
يمكنك أيضا تجميع البيانات حسب القيم في عمود "المدينة" باستخدام طريقة جروب بي (). على سبيل المثال ، يمكنك حساب إجمالي إيرادات العملاء في كل مدينة:
<url>.مجموعة ('المدينة') ['الدخل'].مجموع()
تسمح لك العمليات المذكورة أعلاه بالعمل بفعالية مع البيانات الفئوية في الأعمدة ، وإجراء عمليات مختلفة وتجميع البيانات بناء على هذه القيم.
مثال 3: استخدام الوظائف للعمل مع التواريخ والأوقات في الأعمدة
تحتوي مكتبة الباندا على العديد من الوظائف التي تتيح لك العمل بفعالية مع التواريخ والأوقات في الأعمدة.
أولا ، تحتاج إلى استيراد وحدة الباندا:
استيراد الباندا كما بد
ثم يمكنك إنشاء إطار بيانات يحتوي على عمود مع التواريخ:
دف = بد.داتافريم (البيانات)
إذا كان عمود التاريخ يحتوي على نوع الكائن ، فيمكن تحويله إلى نوع التاريخ والوقت باستخدام الدالة:
[التاريخ] = التاريخ [التاريخ]
- مدافع ['تاريخ'].دي تي.الشهر
- مدافع ['تاريخ'].دي تي.اليوم
- مدافع ['تاريخ'].دي تي.السنة
- مدافع ['تاريخ'].دي تي.أيام الأسبوع
- مدافع ['تاريخ'].دي تي.ساعة
- مدافع ['تاريخ'].دي تي.دقيقة
سيعود عمود مع أرقام دقيقة.
بالإضافة إلى ذلك ، باستخدام وظيفة التاريخ والوقت () ، يمكنك إنشاء أعمدة جديدة بنوع التاريخ والوقت:
إلى التاريخ (التاريخ'] + '12:00:00')
الآن يمكنك استخدام جميع الوظائف الإضافية للعمل مع التواريخ والأوقات ، على سبيل المثال ، دت.يوم الأسبوع ، دينارا.الربع ، دينارا.
مثال 4: تحويل قيم النص في الأعمدة
الباندا لديه القدرة على تحويل قيم النص في الأعمدة باستخدام وظائف. يمكن أن يكون هذا مفيدا عندما تحتاج إلى تغيير التنسيق أو العثور على قيم معينة.
على سبيل المثال ، لنفترض أن لدينا عمودا "مدينة" في إطار بيانات ، ونريد تحويل جميع القيم إلى أحرف صغيرة. يمكننا استخدام وظيفة" أقل ()". إليك ما قد يبدو عليه الأمر:['المدينة'] = ['المدينة'].شارع.أقل()
وبالتالي ، سيتم تحويل جميع القيم في عمود "المدينة" إلى أحرف صغيرة.
بالإضافة إلى ذلك ، يمكننا استخدام الوظائف للعثور على معاني معينة في النص. على سبيل المثال ، لنفترض أن لدينا عمودا "اسم المنتج" في إطار بيانات ، ونريد العثور على جميع المنتجات التي تحتوي على كلمة "حليب". يمكننا استخدام وظيفة" يحتوي ()".دف _ ميلك = دف[دف['اسم المنتج'].شارع.يحتوي على ('حليب')]
ستحصل على إطار بيانات جديد للحليب ، والذي سيحتوي فقط على تلك الصفوف حيث توجد كلمة "حليب" في عمود "اسم المنتج".
من المهم ملاحظة أن هذه العمليات يتم تنفيذها على أعمدة تحتوي على قيم نصية. إذا أصبح من الضروري تحويل النص إلى تنسيق رقمي ، فستحتاج إلى استخدام وظائف أخرى.
سؤال وجواب
كيف يمكنني استخدام وظائف معالجة العمود في الباندا?
في الباندا ، يمكنك استخدام وظائف لمعالجة الأعمدة باستخدام طريقة تطبيق () ، والتي تسمح لك بتطبيق وظيفة على كل عنصر من عناصر العمود أو على كل صف من إطار البيانات. على سبيل المثال ، إذا كنت بحاجة إلى تحويل جميع قيم الأعمدة إلى أحرف كبيرة ، فيمكنك استخدام الكود التالي: مدافع['اسم العمود'] = مدافع['اسم العمود'].تطبيق (لامدا س: س. العلوي ()).
كيف يمكنني تطبيق وظيفة بلدي إلى عمود في الباندا?
لتطبيق دالة مخصصة على عمود في الباندا ، يمكنك استخدام طريقة تطبيق (). تحتاج إلى تمرير اسم الوظيفة كوسيطة وتطبيق الطريقة على عمود أو صفوف إطار البيانات. على سبيل المثال ، إذا كان هناك وظيفة ديف بلدي(س) وظيفة ، ثم تطبيقه على عمود يبدو مثل هذا: دف ['اسم العمود'] = دف ['اسم العمود'].تطبيق (وظيفتي).
كيف يمكنني تطبيق دالة رياضية على عمود في الباندا?