English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas SQL操作的具体实例
由于许多潜在的Pandas用户都对SQL有所了解,因此本页面旨在提供一些示例说明如何使用Pandas执行各种SQL操作。
مثال url = 'https://raw.github.com/pandasdev/' pandas/master/pandas/tests/data/tips.csv' url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' print tips.head()
النتيجة التشغيلية كالتالي:
total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
在SQL中,选择是使用您选择的列的逗号分隔列表(或使用*来选择所有列)来完成的:
SELECT total_bill, tip, smoker, time من tips LIMIT 5;
使用Pandas,通过将列名称列表传递到DataFrame来完成列选择:
tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
让我们看一个完整的实例:
مثال url = 'https://raw.github.com/pandasdev/' pandas/master/pandas/tests/data/tips.csv' url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' print tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
النتيجة التشغيلية كالتالي:
total_bill tip smoker time 0 16.99 1.01 No Dinner 1 10.34 1.66 No Dinner 2 21.01 3.50 No Dinner 3 23.68 3.31 No Dinner 4 24.59 3.61 No Dinner
عرض DataFrame بدون قائمة من الأعمدة سيظهر جميع الأعمدة (مثل * في SQL).
تصفية باستخدام جملة WHERE في SQL.
SELECT * FROM tips WHERE time = 'Dinner' LIMIT 5;
يمكن تصفية DataFrame بطرق متعددة. الطريقة الأكثر وضوحًا هي استخدام المؤشرات البولية.
tips[tips['time'] == 'Dinner'].head(5)
نحن ننظر في ما يلي في Pandas:
مثال url = 'https://raw.github.com/pandasdev/' pandas/master/pandas/tests/data/tips.csv' url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' print(tips[tips['time'] == 'Dinner'].head(5))
النتيجة التشغيلية كالتالي:
total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
الجملة أعلاه تمرر سلسلة من العناصر الحقيقية / الزائفة إلى DataFrame وتعيد جميع الصفوف التي تحتوي على True.
هذه العملية تحصل على عدد السجلات في كل مجموعة في مجموعة البيانات الكاملة. على سبيل المثال، استعلام عن التجميع حسب الجنس والعدد:
SELECT sex, count(*) من tips GROUP BY sex;
في Pandas هو التشغيل التالي:
tips.groupby('sex').size()
نحن ننظر في ما يلي في Pandas:
مثال url = 'https://raw.github.com/pandasdev/' pandas/master/pandas/tests/data/tips.csv' url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' print tips.groupby('sex').size()
النتيجة التشغيلية كالتالي:
sex طباعة نصائح.groupby('sex').size() sex أنثى 87
dtype: int64
إسترجاع N عدد الأسطر استخدام LIMIT لاسترداد N سطر
SELECT * from tips
LIMIT 5 ;
نحن ننظر في ما يلي في Pandas:
مثال إدراج pandas كـ pd url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' نصائح = نصائح[['smoker', 'day', 'time']].head(5) نصائح الطباعة
النتيجة التشغيلية كالتالي:
يوم المدخن الوقت 0 لا مائدة شمسية العشاء 1 لا مائدة شمسية العشاء 2 لا مائدة شمسية العشاء 3 لا مائدة شمسية العشاء 4 لا مائدة شمسية العشاء