Python Pandas - Perbandingan dengan SQL
Karena banyak calon pengguna Pandas sudah terbiasa dengan SQL, halaman ini dimaksudkan untuk memberikan beberapa contoh bagaimana berbagai operasi SQL dapat dilakukan menggunakan panda.
import pandas as pd
url = 'https://raw.github.com/pandasdev/
pandas/master/pandas/tests/data/tips.csv'
tips=pd.read_csv(url)
print tips.head()
Nya output adalah sebagai berikut -
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
PILIH
Di SQL, pemilihan dilakukan menggunakan daftar kolom yang dipisahkan koma yang Anda pilih (atau * untuk memilih semua kolom) -
SELECT total_bill, tip, smoker, time
FROM tips
LIMIT 5;
Dengan Pandas, pemilihan kolom dilakukan dengan meneruskan daftar nama kolom ke DataFrame Anda -
tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
Mari kita periksa program lengkapnya -
import pandas as pd
url = 'https://raw.github.com/pandasdev/
pandas/master/pandas/tests/data/tips.csv'
tips=pd.read_csv(url)
print tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
Nya output adalah sebagai berikut -
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
Memanggil DataFrame tanpa daftar nama kolom akan menampilkan semua kolom (mirip dengan * SQL).
DIMANA
Pemfilteran dalam SQL dilakukan melalui klausa WHERE.
SELECT * FROM tips WHERE time = 'Dinner' LIMIT 5;
DataFrames dapat difilter dengan berbagai cara; yang paling intuitif adalah menggunakan pengindeksan Boolean.
tips[tips['time'] == 'Dinner'].head(5)
Mari kita periksa program lengkapnya -
import pandas as pd
url = 'https://raw.github.com/pandasdev/
pandas/master/pandas/tests/data/tips.csv'
tips=pd.read_csv(url)
print tips[tips['time'] == 'Dinner'].head(5)
Nya output adalah sebagai berikut -
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
Pernyataan di atas meneruskan serangkaian objek True / False ke DataFrame, mengembalikan semua baris dengan True.
GroupBy
Operasi ini mengambil jumlah record di setiap grup di seluruh set data. Misalnya, kueri yang memberi kami jumlah tip yang ditinggalkan berdasarkan jenis kelamin -
SELECT sex, count(*)
FROM tips
GROUP BY sex;
Persamaan Pandas adalah -
tips.groupby('sex').size()
Mari kita periksa program lengkapnya -
import pandas as pd
url = 'https://raw.github.com/pandasdev/
pandas/master/pandas/tests/data/tips.csv'
tips=pd.read_csv(url)
print tips.groupby('sex').size()
Nya output adalah sebagai berikut -
sex
Female 87
Male 157
dtype: int64
N baris teratas
SQL mengembalikan top n rows menggunakan LIMIT -
SELECT * FROM tips
LIMIT 5 ;
Persamaan Pandas adalah -
tips.head(5)
Mari kita periksa contoh lengkapnya -
import pandas as pd
url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv'
tips=pd.read_csv(url)
tips = tips[['smoker', 'day', 'time']].head(5)
print tips
Nya output adalah sebagai berikut -
smoker day time
0 No Sun Dinner
1 No Sun Dinner
2 No Sun Dinner
3 No Sun Dinner
4 No Sun Dinner
Ini adalah beberapa operasi dasar yang kami bandingkan, yang telah kami pelajari, di bab-bab sebelumnya dari Perpustakaan Pandas.