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
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.