البرمجة

إزالة عينة عشوائية من DataFrame في Pandas

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

في الواقع، لا توجد وظيفة مباشرة تقوم بالتحقق من هذا المطلب في مكتبة Pandas، ولكن يمكن الوصول إلى النتيجة المطلوبة باستخدام عدة خطوات. سأشرح لك الطريقة الأكثر فعالية وبساطة لتحقيق ذلك.

أولاً، يمكنك استخدام الدالة DataFrame.sample() لاستخراج العينة العشوائية كما تفعل بالفعل. ثم، بعد ذلك، يمكنك استخدام دالة DataFrame.drop() لإزالة الصفوف المحددة من DataFrame الأصلي.

هنا هو كيفية تحقيق ذلك في Python:

python
import pandas as pd # افتراضياً، فلنفترض لديك DataFrame تسميه df # استخراج العينة العشوائية df_subset = df.sample(n=300) # يمكنك تحديد الحجم المطلوب للعينة هنا # إزالة العينة العشوائية من البيانات الأصلية df = df.drop(df_subset.index) # الآن يمكنك استخدام df بشكل عادي بعد إزالة العينة

هذا الكود يعمل عن طريق استخدام df.drop() مع الفهرس الذي يتم تمييزه بواسطة df_subset.index، والذي يحتوي على فهرس الصفوف التي تم استخراجها. بعد ذلك، ستكون العينة المستخرجة محذوفة من DataFrame الأصلي.

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

المزيد من المعلومات

بالطبع، دعني أوسع شرحي للطريقة التي اقترحتها لتحقيق هذا الهدف.

عند العمل مع مكتبة Pandas في Python، يمكنك استخدام العديد من الوظائف والطرق لتحقيق مجموعة متنوعة من الأهداف. واحدة من تلك الأهداف هي استخراج عينة عشوائية من DataFrame وفي نفس الوقت إزالتها من البيانات الأصلية.

بدأنا بالخطوة الأولى باستخدام df.sample()، وهي وظيفة تسمح باستخراج عينة عشوائية من DataFrame. يمكنك تحديد حجم العينة المطلوب باستخدام البرمتر n في الدالة. في هذا المثال، استخدمنا n=300 لاستخراج عينة مكونة من 300 صف.

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

ثم، في الخطوة الثانية، استخدمنا دالة df.drop() لإزالة الصفوف الموجودة في df_subset من DataFrame الأصلي df. تستخدم دالة drop() لإزالة الصفوف أو الأعمدة من DataFrame بناءً على الفهرس المحدد. في هذه الحالة، استخدمنا فهرس الصفوف من df_subset باستخدام df_subset.index كمعامل لـ drop() لإزالة الصفوف المحددة.

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

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

زر الذهاب إلى الأعلى