كيفية إعادة كتابة استعلامات SQL في Python باستخدام Pandas

في هذه المقالة ، أوضح June Tao Ching كيفية تحقيق نفس النتيجة في Python كما في استعلامات SQL باستخدام Pandas. أمامك - يمكن العثور على الترجمة والأصل في المدونة تجاهdatascience.com.



صورة

صورة من موقع 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 الخاص بي .



شكرآ لك على أهتمامك!



All Articles