Python Tutorial Pandas: DataFrame, Rentang Tanggal, Penggunaan Pandas
Apa itu Panda Python?
Panda adalah perpustakaan sumber terbuka yang memungkinkan Anda melakukan manipulasi dan analisis data Python. Panda Python Pustaka ini menawarkan manipulasi data dan operasi data untuk tabel numerik dan deret waktu. Pandas menyediakan cara mudah untuk membuat, memanipulasi, dan mengelola data. Pustaka ini dibangun di atas NumPy, yang berarti membutuhkan NumPy untuk beroperasi.
Mengapa menggunakan Panda?
Ilmuwan data memanfaatkan Pandas di Python karena keuntungan-keuntungan berikut ini:
- Menangani data yang hilang dengan mudah
- Menggunakan Seri untuk struktur data satu dimensi dan DataFrame untuk struktur data multidimensi
- Ini memberikan cara yang efisien untuk membagi data
- Ini memberikan cara yang fleksibel untuk menggabungkan, menggabungkan, atau membentuk ulang data
- Ini mencakup alat deret waktu yang ampuh untuk digunakan
Singkatnya, Pandas adalah perpustakaan yang berguna analisis dataPanda dapat digunakan untuk melakukan manipulasi dan analisis data. Panda menyediakan struktur data yang kuat dan mudah digunakan, serta sarana untuk melakukan operasi pada struktur tersebut dengan cepat.
Bagaimana cara menginstal Panda?
Sekarang dalam hal ini Python Tutorial Pandas, kita akan belajar cara menginstal Pandas di dalamnya Python.
Untuk menginstal perpustakaan Pandas, silakan lihat tutorial kami Cara memasang TensorFlow. Pandas diinstal secara default. Dalam kasus jarak jauh, panda tidak diinstal-
Anda dapat menginstal Pandas menggunakan:
- Anaconda: conda install -c anaconda pandas
- In Jupyter Buku catatan :
import sys !conda install --yes --prefix {sys.prefix} pandas
Apa itu Bingkai Data Pandas?
Bingkai Data Panda adalah array dua dimensi dengan struktur data berlabel yang memiliki tipe kolom berbeda. DataFrame adalah cara standar untuk menyimpan data dalam format tabel, dengan baris untuk menyimpan informasi dan kolom untuk memberi nama informasi. Misalnya, harga bisa menjadi nama kolom dan 2,3,4 bisa menjadi nilai harga.
Data Frame dikenal oleh ahli statistik dan praktisi data lainnya.
Di bawah gambar bingkai data Pandas:
Apa itu Seri?
Seri adalah struktur data satu dimensi. Itu dapat memiliki struktur data apa pun seperti integer, float, dan string. Ini berguna ketika Anda ingin melakukan komputasi atau mengembalikan array satu dimensi. Sebuah seri, menurut definisi, tidak boleh memiliki banyak kolom. Untuk kasus terakhir, silakan gunakan struktur bingkai data.
Python Seri Pandas memiliki parameter berikut:
- Data: dapat berupa daftar, kamus, atau nilai skalar
pd.Series([1., 2., 3.])
0 1.0 1 2.0 2 3.0 dtype: float64
Anda dapat menambahkan indeks dengan index. Ini membantu untuk memberi nama pada baris. Panjangnya harus sama dengan ukuran kolom
pd.Series([1., 2., 3.], index=['a', 'b', 'c'])
Di bawah ini, Anda membuat rangkaian Pandas dengan nilai yang hilang untuk baris ketiga. Catatan, nilai yang hilang di Python diberi tanda “NaN.” Anda dapat menggunakan numpy untuk membuat nilai yang hilang: np.nan secara artifisial
pd.Series([1,2,np.nan])
Keluaran
0 1.0 1 2.0 2 NaN dtype: float64
Buat Bingkai Data Pandas
Sekarang dalam tutorial Pandas DataFrame ini, kita akan belajar cara membuat Python Kerangka data Panda:
Anda dapat mengonversi array numpy menjadi bingkai data pandas dengan pd.Data frame(). Hal sebaliknya juga mungkin terjadi. Untuk mengonversi Bingkai Data panda menjadi array, Anda dapat menggunakan np.array()
## Numpy to pandas import numpy as np h = [[1,2],[3,4]] df_h = pd.DataFrame(h) print('Data Frame:', df_h) ## Pandas to numpy df_h_n = np.array(df_h) print('Numpy array:', df_h_n) Data Frame: 0 1 0 1 2 1 3 4 Numpy array: [[1 2] [3 4]]
Anda juga dapat menggunakan kamus untuk membuat kerangka data Pandas.
dic = {'Name': ["John", "Smith"], 'Age': [30, 40]} pd.DataFrame(data=dic)
Usia | Nama | |
---|---|---|
0 | 30 | John |
1 | 40 | Smith |
Data Rentang Panda
Pandas memiliki API yang mudah digunakan untuk membuat rentang tanggal. Mari belajar bersama Python Contoh panda:
pd.data_range(tanggal,periode,frekuensi):
- Parameter pertama adalah tanggal mulai
- Parameter kedua adalah jumlah periode (opsional jika tanggal akhir ditentukan)
- Parameter terakhir adalah frekuensi: hari: 'D,' bulan: 'M' dan tahun: 'Y.'
## Create date # Days dates_d = pd.date_range('20300101', periods=6, freq='D') print('Day:', dates_d)
Keluaran
Day: DatetimeIndex(['2030-01-01', '2030-01-02', '2030-01-03', '2030-01-04', '2030-01-05', '2030-01-06'], dtype='datetime64[ns]', freq='D')
# Months dates_m = pd.date_range('20300101', periods=6, freq='M') print('Month:', dates_m)
Keluaran
Month: DatetimeIndex(['2030-01-31', '2030-02-28', '2030-03-31', '2030-04-30','2030-05-31', '2030-06-30'], dtype='datetime64[ns]', freq='M')
Memeriksa Data
Anda dapat memeriksa head atau tail dari dataset dengan head(), atau tail() yang diawali dengan nama frame data panda seperti yang ditunjukkan pada contoh Pandas di bawah ini:
Langkah 1) Buat urutan acak dengan mati rasa. Barisannya mempunyai 4 kolom dan 6 baris
random = np.random.randn(6,4)
Langkah 2) Kemudian Anda membuat bingkai data menggunakan pandas.
Gunakan date_m sebagai indeks untuk bingkai data. Artinya setiap baris akan diberi “nama” atau indeks yang sesuai dengan tanggal.
Terakhir, Anda memberi nama pada 4 kolom dengan kolom argumen
# Create data with date df = pd.DataFrame(random, index=dates_m, columns=list('ABCD'))
Langkah 3) Menggunakan fungsi kepala
df.head(3)
A | B | C | D | |
---|---|---|---|---|
2030-01-31 | 1.139433 | 1.318510 | -0.181334 | 1.615822 |
2030-02-28 | -0.081995 | -0.063582 | 0.857751 | -0.527374 |
2030-03-31 | -0.519179 | 0.080984 | -1.454334 | 1.314947 |
Langkah 4) Menggunakan fungsi ekor
df.tail(3)
A | B | C | D | |
---|---|---|---|---|
2030-04-30 | -0.685448 | -0.011736 | 0.622172 | 0.104993 |
2030-05-31 | -0.935888 | -0.731787 | -0.558729 | 0.768774 |
2030-06-30 | 1.096981 | 0.949180 | -0.196901 | -0.471556 |
Langkah 5) Praktik terbaik untuk mendapatkan petunjuk tentang data adalah dengan menggunakan deskripsikan(). Ini memberikan jumlah, mean, std, min, max dan persentil dari kumpulan data.
df.describe()
A | B | C | D | |
---|---|---|---|---|
menghitung | 6.000000 | 6.000000 | 6.000000 | 6.000000 |
berarti | 0.002317 | 0.256928 | -0.151896 | 0.467601 |
std | 0.908145 | 0.746939 | 0.834664 | 0.908910 |
menit | -0.935888 | -0.731787 | -1.454334 | -0.527374 |
25% | -0.643880 | -0.050621 | -0.468272 | -0.327419 |
50% | -0.300587 | 0.034624 | -0.189118 | 0.436883 |
75% | 0.802237 | 0.732131 | 0.421296 | 1.178404 |
max | 1.139433 | 1.318510 | 0.857751 | 1.615822 |
Irisan Data
Poin terakhir dari ini Python Tutorial Pandas adalah tentang cara mengiris bingkai data pandas.
Anda dapat menggunakan nama kolom untuk mengekstrak data di kolom tertentu seperti yang ditunjukkan pada contoh Pandas di bawah ini:
## Slice ### Using name df['A'] 2030-01-31 -0.168655 2030-02-28 0.689585 2030-03-31 0.767534 2030-04-30 0.557299 2030-05-31 -1.547836 2030-06-30 0.511551 Freq: M, Name: A, dtype: float64
Untuk memilih beberapa kolom, Anda perlu menggunakan tanda kurung dua kali, [[..,..]]
Pasangan braket pertama berarti Anda ingin memilih kolom, pasangan braket kedua menunjukkan kolom mana yang ingin Anda kembalikan.
df[['A', 'B']].
A | B | |
---|---|---|
2030-01-31 | -0.168655 | 0.587590 |
2030-02-28 | 0.689585 | 0.998266 |
2030-03-31 | 0.767534 | -0.940617 |
2030-04-30 | 0.557299 | 0.507350 |
2030-05-31 | -1.547836 | 1.276558 |
2030-06-30 | 0.511551 | 1.572085 |
Anda dapat mengiris baris dengan:
Kode di bawah ini mengembalikan tiga baris pertama
### using a slice for row df[0:3]
A | B | C | D | |
---|---|---|---|---|
2030-01-31 | -0.168655 | 0.587590 | 0.572301 | -0.031827 |
2030-02-28 | 0.689585 | 0.998266 | 1.164690 | 0.475975 |
2030-03-31 | 0.767534 | -0.940617 | 0.227255 | -0.341532 |
Fungsi loc digunakan untuk memilih kolom berdasarkan nama. Seperti biasa, nilai sebelum koma menunjukkan baris dan setelahnya menunjukkan kolom. Anda perlu menggunakan tanda kurung untuk memilih lebih dari satu kolom.
## Multi col df.loc[:,['A','B']]
A | B | |
---|---|---|
2030-01-31 | -0.168655 | 0.587590 |
2030-02-28 | 0.689585 | 0.998266 |
2030-03-31 | 0.767534 | -0.940617 |
2030-04-30 | 0.557299 | 0.507350 |
2030-05-31 | -1.547836 | 1.276558 |
2030-06-30 | 0.511551 | 1.572085 |
Ada metode lain untuk memilih beberapa baris dan kolom di Pandas. Anda dapat menggunakan iloc[]. Metode ini menggunakan indeks, bukan nama kolom. Kode di bawah mengembalikan bingkai data yang sama seperti di atas
df.iloc[:, :2]
A | B | |
---|---|---|
2030-01-31 | -0.168655 | 0.587590 |
2030-02-28 | 0.689585 | 0.998266 |
2030-03-31 | 0.767534 | -0.940617 |
2030-04-30 | 0.557299 | 0.507350 |
2030-05-31 | -1.547836 | 1.276558 |
2030-06-30 | 0.511551 | 1.572085 |
Jatuhkan Kolom
Anda dapat menghapus kolom menggunakan pd.drop()
df.drop(columns=['A', 'C'])
B | D | |
---|---|---|
2030-01-31 | 0.587590 | -0.031827 |
2030-02-28 | 0.998266 | 0.475975 |
2030-03-31 | -0.940617 | -0.341532 |
2030-04-30 | 0.507350 | -0.296035 |
2030-05-31 | 1.276558 | 0.523017 |
2030-06-30 | 1.572085 | -0.594772 |
Rangkaian
Anda dapat menggabungkan dua DataFrame di Pandas. Anda dapat menggunakan pd.concat()
Pertama-tama, Anda perlu membuat dua DataFrames. Sejauh ini bagus, Anda sudah familiar dengan pembuatan kerangka data
import numpy as np df1 = pd.DataFrame({'name': ['John', 'Smith','Paul'], 'Age': ['25', '30', '50']}, index=[0, 1, 2]) df2 = pd.DataFrame({'name': ['Adam', 'Smith' ], 'Age': ['26', '11']}, index=[3, 4])
Terakhir, Anda menggabungkan dua DataFrame
df_concat = pd.concat([df1,df2]) df_concat
Usia | nama | |
---|---|---|
0 | 25 | John |
1 | 30 | Smith |
2 | 50 | paul |
3 | 26 | Adam |
4 | 11 | Smith |
Jatuhkan_duplikat
Jika kumpulan data dapat berisi penggunaan informasi duplikat, `drop_duplikat` adalah cara yang mudah untuk mengecualikan baris duplikat. Anda dapat melihat bahwa `df_concat` memiliki observasi duplikat, `Smith` muncul dua kali di kolom `name.`
df_concat.drop_duplicates('name')
Usia | nama | |
---|---|---|
0 | 25 | John |
1 | 30 | Smith |
2 | 50 | paul |
3 | 26 | Adam |
Urutkan nilai
Anda dapat mengurutkan nilai dengan sort_values
df_concat.sort_values('Age')
Usia | nama | |
---|---|---|
4 | 11 | Smith |
0 | 25 | John |
3 | 26 | Adam |
1 | 30 | Smith |
2 | 50 | paul |
Ganti nama: perubahan indeks
Anda dapat menggunakan rename untuk mengganti nama kolom di Pandas. Nilai pertama adalah nama kolom saat ini dan nilai kedua adalah nama kolom baru.
df_concat.rename(columns={"name": "Surname", "Age": "Age_ppl"})
Usia_ppl | Nama keluarga | |
---|---|---|
0 | 25 | John |
1 | 30 | Smith |
2 | 50 | paul |
3 | 26 | Adam |
4 | 11 | Smith |
Ringkasan
Di bawah ini adalah ringkasan metode paling berguna untuk ilmu data dengan Pandas
mengimpor data | baca_csv |
---|---|
membuat seri | Seri |
Buat Kerangka Data | Bingkai Data |
Buat rentang tanggal | tanggal_rentang |
kembali kepala | kepala |
ekor kembali | ekor |
Menggambarkan | menggambarkan |
potong menggunakan nama | nama data['nama kolom'] |
Iris menggunakan baris | nama_data[0:5] |