Import Data CSV menggunakan Pandas.read_csv ()

Isi kandungan:

Anonim

Dalam tutorial ini, anda akan belajar:

  • Import CSV
  • Berkumpulan

Import CSV

Semasa tutorial TensorFlow, anda akan menggunakan set data dewasa. Ia sering digunakan dengan tugas klasifikasi. Ia terdapat dalam URL ini https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Data disimpan dalam format CSV. Set data ini merangkumi lapan pemboleh ubah kategori:

Set data ini merangkumi lapan pemboleh ubah kategori:

  • kelas kerja
  • pendidikan
  • perkahwinan
  • pekerjaan
  • hubungan
  • perlumbaan
  • seks
  • negara asal

lebih-lebih lagi, enam pemboleh ubah berterusan:

  • umur
  • fnlwgt
  • pendidikan_num
  • modal_mendapat
  • kerugian_ modal

jam_ minggu

Untuk mengimport set data CSV, anda boleh menggunakan objek pd.read_csv (). Hujah asas di dalamnya adalah:

Sintaks:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Laluan atau URL dengan data
  • sep = ',': Tentukan pembatas yang akan digunakan
  • `names = None`: Namakan lajur. Sekiranya set data mempunyai sepuluh lajur, anda perlu memberikan sepuluh nama
  • `index_col = None`: Jika ya, lajur pertama digunakan sebagai indeks baris
  • `skipinitialspace = False`: Langkau ruang selepas pembatas.

Untuk maklumat lebih lanjut mengenai readcsv (), sila periksa dokumentasi rasmi

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

Pertimbangkan 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

Pengeluaran:

(32561, 15)

Berkumpulan

Kaedah mudah untuk melihat data adalah dengan menggunakan kaedah kumpulan. Kaedah ini dapat membantu anda merangkum data mengikut kumpulan. Berikut adalah senarai kaedah yang tersedia dengan kumpulan:

  • membilang: mengira
  • min: min
  • maks: maks
  • bermaksud: bermaksud
  • median: median
  • sisihan piawai: sdt
  • dan lain-lain

Di dalam kumpulan (), anda boleh menggunakan lajur yang anda mahu gunakan kaedahnya.

Mari kita lihat satu kumpulan dengan kumpulan data dewasa. Anda akan mendapat min bagi semua pemboleh ubah berterusan mengikut jenis pendapatan, iaitu, melebihi 50k atau di bawah 50k

df_train.groupby(['label']).mean() 
umur fnlwgt pendidikan_num modal_mendapat kerugian_ modal jam_ minggu
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 boleh mendapatkan umur minimum mengikut jenis isi rumah

df_train.groupby (['label']) ['umur'] min. ()

label<=50K 17>50K 19Name: age, dtype: int64 

Anda juga boleh mengumpulkan mengikut beberapa lajur. Sebagai contoh, anda dapat memperoleh keuntungan modal maksimum mengikut jenis rumah tangga dan status perkahwinan.

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 boleh membuat plot mengikut kumpulan. Salah satu cara untuk melakukannya adalah dengan menggunakan plot selepas pengelompokan.

Untuk membuat plot yang lebih baik, anda akan menggunakan unstack () selepas mean () sehingga anda mempunyai indeks bertingkat yang sama, atau anda bergabung dengan nilai dengan pendapatan lebih rendah dari 50k dan di atas 50k. Dalam kes ini, plot akan mempunyai dua kumpulan dan bukannya 14 (2 * 7).

Sekiranya anda menggunakan Jupyter Notebook, pastikan untuk menambahkan% matplotlib sebaris, jika tidak, plot tidak akan dipaparkan

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