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:

Bingkai Data Panda

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]