صورة من موقع Unsplash . المؤلف: Hitesh Choudhary
الحصول على نفس النتيجة في Python كما هو الحال مع استعلام SQL
في كثير من الأحيان ، عند العمل في نفس المشروع ، يتعين علينا التبديل بين SQL و Python. ومع ذلك ، فإن البعض منا على دراية بمعالجة البيانات في استعلامات SQL ، ولكن ليس في Python ، مما يعيق كفاءتنا وإنتاجيتنا. في الواقع ، باستخدام Pandas ، يمكنك تحقيق نفس النتيجة في Python كما في استعلامات SQL.
بداية العمل
يجب تثبيت حزمة Pandas إذا لم تكن موجودة.
conda install pandas
سنستخدم مجموعة بيانات Titanic الشهيرة من Kaggle .
بعد تثبيت الحزمة وتنزيل البيانات ، نحتاج إلى استيرادها إلى بيئة Python الخاصة بنا.
سنستخدم DataFrame لتخزين البيانات. ستساعدنا وظائف Pandas المختلفة في إدارة بنية البيانات هذه.
حدد ، مميز ، عدد ، حد
لنبدأ باستعلامات SQL البسيطة التي نستخدمها كثيرًا.
titanic_df["age"].unique()
سيعيد مجموعة من القيم الفريدة ، لذلك سيتعين علينا استخدامها len()
لحساب عددهم.
حدد ، أين ، أو ، و ، في (اختر مع الشروط)
بعد الجزء الأول ، تعلمت كيفية استكشاف DataFrame بطرق بسيطة. الآن دعونا نحاول القيام بذلك مع بعض الشروط (هذه جملة
WHERE
في SQL).
إذا كنا نريد فقط تحديد أعمدة معينة من DataFrame ، فيمكننا القيام بذلك باستخدام زوج إضافي من الأقواس المربعة.
ملاحظة: إذا حددت عدة أعمدة ، فستحتاج إلى وضع المصفوفة
["name","age"]
داخل أقواس مربعة.
isin()
يعمل تمامًا كما هو الحال IN
في استعلامات SQL. للاستخدام NOT IN
، في بايثون نحتاج إلى استخدام النفي (~)
.
تجميع حسب ، ترتيب حسب ، العدد
GROUP BY
و ORDER BY
أيضا البيانات SQL شعبية لاستخراج البيانات. الآن دعنا نحاول استخدامها في بايثون.
إذا أردنا فرز عمود COUNT واحد فقط ، فيمكننا ببساطة تمرير قيمة منطقية إلى الطريقة
sort_values
. إذا كنا سنقوم بفرز عدة أعمدة ، فيجب علينا تمرير مصفوفة من القيم المنطقية إلى الطريقة sort_values
. ستعيد
الطريقة
sum()
المجاميع لكل عمود من الأعمدة في DataFrame ، والتي يمكن تجميعها عدديًا. إذا كنا نريد عمودًا معينًا فقط ، فسنحتاج إلى تحديد اسم العمود باستخدام الأقواس المربعة.
مين ، ماكس ، مين ، ميديان
أخيرًا ، لنجرب بعض الوظائف الإحصائية القياسية المهمة عند استكشاف البيانات.
لا يحتوي SQL على عوامل تُرجع القيمة المتوسطة ، لذلك نستخدم BigQuery للحصول على القيمة المتوسطة لعمود العمر. في
APPROX_QUANTILES
Pandas ،
.agg()
تدعم طريقة التجميع أيضًا وظائف أخرى ، على سبيل المثال sum
.
لقد تعلمت الآن كيفية إعادة كتابة استعلامات SQL في Python باستخدام Pandas . آمل أن تجد هذه المقالة مفيدة.
يمكن العثور على جميع الكود في مستودع Github الخاص بي .
شكرآ لك على أهتمامك!