Impor Data CSV menggunakan Pandas.read_csv ()

Daftar Isi:

Anonim

Dalam tutorial ini, Anda akan mempelajari:

  • Impor CSV
  • Groupby

Impor CSV

Selama tutorial TensorFlow, Anda akan menggunakan kumpulan data 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 delapan variabel kategori:

  • kelas kerja
  • pendidikan
  • pernikahan
  • pendudukan
  • hubungan
  • ras
  • seks
  • negara Asal

Selain itu, enam variabel kontinu:

  • usia
  • fnlwgt.dll
  • education_num
  • keuntungan dalam bentuk uang
  • capital_loss

hours_week

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

Sintaksis:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Jalur atau URL dengan data
  • sep = ',': Tentukan pembatas yang akan digunakan
  • `names = None`: Memberi nama kolom. Jika kumpulan data memiliki sepuluh kolom, Anda harus meneruskan sepuluh nama
  • `index_col = None`: Jika ya, kolom pertama digunakan sebagai indeks baris
  • `skipinitialspace = False`: Melewati spasi setelah pembatas.

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

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

Perhatikan Contoh berikut

## Import csvimport pandas as pd## Define path dataCOLUMNS = ['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)

Groupby

Cara mudah untuk melihat data adalah dengan menggunakan metode groupby. Metode ini dapat membantu Anda meringkas data menurut kelompok. Di bawah ini adalah daftar metode yang tersedia dengan groupby:

  • hitung: hitung
  • min: min
  • maks: maks
  • maksud: berarti
  • median: median
  • deviasi standar: sdt
  • dll

Di dalam groupby (), Anda bisa menggunakan kolom yang ingin Anda terapkan metode.

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

df_train.groupby(['label']).mean() 
usia fnlwgt.dll education_num keuntungan dalam bentuk uang capital_loss hours_week
label
<= 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 19Name: age, dtype: int64 

Anda juga dapat mengelompokkan berdasarkan beberapa kolom. Misalnya, Anda bisa mendapatkan capital gain yang maksimal sesuai dengan jenis rumah tangga dan status perkawinan.

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

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

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

Jika Anda menggunakan Notebook Jupyter, pastikan untuk menambahkan% matplotlib sebaris, jika tidak, plot tidak akan ditampilkan

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