Panda read_csv() dengan Contoh

Impor CSV di Pandas

Selama tutorial TensorFlow, Anda akan menggunakan dataset dewasa. Ini sering digunakan dengan tugas klasifikasi. Ini tersedia di URL ini https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Data disimpan dalam format CSV. Kumpulan data ini mencakup delapan variabel kategori:

Kumpulan data ini mencakup 8 variabel kategori:

  • kelas kerja
  • pendidikan
  • perkawinan
  • pekerjaan
  • hubungan
  • ras
  • seks
  • negara Asal

Dan, 6 variabel kontinu:

  • usia
  • fnlwgt
  • pendidikan_num
  • keuntungan dalam bentuk uang
  • modal_rugi
  • jam_minggu

Metode panda read_csv()

Untuk mengimpor dataset CSV, Anda dapat menggunakan objek pd.read_csv(). Argumen dasar di dalamnya adalah:

Sintaks panda read_csv()

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • jalur_file_atau_buffer: Jalur atau URL dengan data
  • sep=', ': Tentukan pembatas yang akan digunakan
  • `nama=Tidak Ada`: Beri nama kolomnya. Jika kumpulan data memiliki sepuluh kolom, Anda harus memasukkan sepuluh nama
  • `index_col=Tidak ada`: Jika ya, kolom pertama digunakan sebagai indeks baris
  • `skipinitialspace=False`: Lewati spasi setelah pembatas.

Untuk informasi lebih lanjut tentang read_csv(), silakan periksa dokumentasi resmi:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Contoh panda read_csv()

## Import csv
import pandas as pd
## Define path data
COLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital',
           'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss',
           'hours_week', 'native_country', 'label']
PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"
df_train = pd.read_csv(PATH,
                       skipinitialspace=True,
                       names = COLUMNS,
                       index_col=False)
df_train.shape

Keluaran:

(32561, 15)

Metode Pandas groupby()

Cara mudah untuk melihat datanya adalah dengan menggunakan metode groupby. Cara ini dapat membantu Anda untuk merangkum data berdasarkan kelompok. Di bawah ini adalah daftar metode yang tersedia dengan metode groupby():

  • menghitung: menghitung
  • menit: menit
  • maks: maks
  • maksud: maksudnya
  • median: median
  • simpangan baku: sdt
  • dll

Di dalam groupby(), Anda dapat menggunakan kolom tempat Anda ingin menerapkan metode ini.

Mari kita lihat satu pengelompokan dengan kumpulan data dewasa. Anda akan mendapatkan rata-rata semua variabel kontinu berdasarkan jenis pendapatan, yaitu di atas 50k atau di bawah 50k:

df_train.groupby(['label']).mean()
label usia fnlwgt pendidikan_num keuntungan dalam bentuk uang modal_rugi jam_minggu
<= 50K 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50K 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Anda bisa mendapatkan usia minimum berdasarkan jenis rumah tangga:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

Anda juga dapat mengelompokkan berdasarkan beberapa kolom. Misalnya, Anda bisa mendapatkan keuntungan modal maksimal menurut jenis rumah tangga dan status perkawinan.

df_train.groupby(['label', 'marital'])['capital_gain'].max()				
label  marital              
<=50K  Divorced                 34095
       Married-AF-spouse         2653
       Married-civ-spouse       41310
       Married-spouse-absent     6849
       Never-married            34095
       Separated                 7443
       Widowed                   6849
>50K   Divorced                 99999
       Married-AF-spouse         7298
       Married-civ-spouse       99999
       Married-spouse-absent    99999
       Never-married            99999
       Separated                99999
       Widowed                  99999
Name: capital_gain, dtype: int64

Anda dapat membuat plot dengan mengikuti groupby. Salah satu cara untuk melakukannya adalah dengan menggunakan plot setelah pengelompokan.

Untuk membuat plot yang lebih bagus, Anda akan menggunakan unstack() setelah mean() sehingga Anda memiliki indeks bertingkat yang sama, atau Anda menggabungkan nilai berdasarkan pendapatan yang lebih rendah dari 50k dan di atas 50k. Dalam hal ini, plot akan memiliki dua kelompok, bukan 14 (2*7).

Jika Anda menggunakan Jupyter buku catatan, pastikan untuk menambahkan %matplotlib inline, jika tidak, tidak ada plot yang akan ditampilkan

%matplotlib inline
df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()
df_plot

Contoh metode Pandas groupby()

Kesimpulan

  • Untuk mengimpor kumpulan data CSV Panda, Anda dapat menggunakan objek pd.read_csv().
  • Metode groupby() dapat membantu Anda meringkas data berdasarkan kelompok.
  • Anda juga dapat mengelompokkan berdasarkan beberapa kolom. Misalnya, Anda bisa mendapatkan keuntungan modal maksimal menurut jenis rumah tangga dan status perkawinan.