Pandas.read_csv () kullanarak CSV Verilerini İçe Aktar

İçindekiler:

Anonim

Bu eğitimde şunları öğreneceksiniz:

  • CSV'yi içe aktar
  • Groupby

CSV'yi içe aktar

TensorFlow öğreticisi sırasında, yetişkinlere yönelik veri kümesini kullanacaksınız. Genellikle sınıflandırma görevi ile birlikte kullanılır. Bu URL'de https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data mevcuttur

Veriler bir CSV formatında saklanır. Bu veri kümesi, sekiz kategorik değişkeni içerir:

Bu veri kümesi sekiz kategorik değişkeni içerir:

  • çalışma sınıfı
  • Eğitim
  • evlilik
  • Meslek
  • ilişki
  • yarış
  • seks
  • ana vatan

dahası, altı sürekli değişken:

  • yaş
  • fnlwgt
  • eğitim_sayısı
  • Sermaye kazancı
  • sermaye_ kaybı

hours_week

Bir CSV veri kümesini içe aktarmak için pd.read_csv () nesnesini kullanabilirsiniz. İçindeki temel argüman şudur:

Sözdizimi:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Verileri içeren yol veya URL
  • sep = ',': Kullanılacak sınırlayıcıyı tanımlayın
  • `isimler = Hiçbiri`: Sütunları adlandırın. Veri kümesinde on sütun varsa, on ad geçirmeniz gerekir
  • `index_col = None`: Evet ise, ilk sütun bir satır dizini olarak kullanılır
  • `skipinitialspace = False`: Sınırlayıcıdan sonraki boşlukları atlayın.

Readcsv () hakkında daha fazla bilgi için lütfen resmi belgelere bakın

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

Aşağıdaki Örneği düşünün

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

Çıktı:

(32561, 15)

Groupby

Verileri görmenin kolay bir yolu, gruplama yöntemini kullanmaktır. Bu yöntem, verileri gruplara göre özetlemenize yardımcı olabilir. Groupby ile kullanılabilen yöntemlerin listesi aşağıda verilmiştir:

  • count: count
  • min: min
  • max: max
  • demek: demek
  • medyan: medyan
  • standart sapma: sdt
  • vb

Groupby () içinde, yöntemi uygulamak istediğiniz sütunu kullanabilirsiniz.

Yetişkin veri kümesiyle tek bir gruplamaya bir göz atalım. Gelir türüne göre tüm sürekli değişkenlerin ortalamasını alırsınız, yani 50.000'in üzerinde veya 50.000'in altında

df_train.groupby(['label']).mean() 
yaş fnlwgt eğitim_sayısı Sermaye kazancı sermaye_ kaybı hours_week
etiket
<= 50K 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50 bin 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Hane türüne göre minimum yaşı alabilirsiniz

df_train.groupby (['etiket']) ['yaş']. min ()

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

Birden çok sütuna göre de gruplayabilirsiniz. Örneğin, hanehalkı türüne ve medeni durumuna göre maksimum sermaye kazancı elde edebilirsiniz.

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

Groupby'nin ardından bir grafik oluşturabilirsiniz. Bunu yapmanın bir yolu, gruplamadan sonra bir arsa kullanmaktır.

Daha mükemmel bir arsa oluşturmak için, aynı çok düzeyli dizine sahip olmak için mean () 'dan sonra unstack () kullanacaksınız veya değerleri 50k'den düşük ve 50k'den fazla gelirle birleştireceksiniz. Bu durumda, arsa 14 (2 * 7) yerine iki gruba sahip olacaktır.

Jupyter Not Defteri kullanıyorsanız,% matplotlib satır içi eklediğinizden emin olun, aksi takdirde çizim görüntülenmez

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