Örnekle Pandalar read_csv()

Pandas'ta CSV'yi içe aktar

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

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

Bu veri kümesi 8 kategorik değişken içerir:

  • çalışma sınıfı
  • eğitim
  • evlilik
  • işgal
  • ilişki
  • yarış
  • seks
  • ana vatan

Ve 6 sürekli değişken:

  • yaş
  • fnlwgt
  • eğitim_num
  • Sermaye kazancı
  • sermaye_kaybı
  • saat_hafta

Pandalar read_csv() Yöntemi

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

Pandalar read_csv() Söz Dizimi

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • dosya_yolu_veya_tampon: Verilerin bulunduğu yol veya URL
  • eylül=', ': Kullanılacak sınırlayıcıyı tanımlayın
  • 'isimler=Yok': Sütunlara ad verin. Veri kümesinde on sütun varsa on ad aktarmanız gerekir
  • 'index_col=Yok': Evet ise, ilk sütun satır dizini olarak kullanılır
  • 'skipinitialspace=Yanlış': Sınırlayıcıdan sonraki boşlukları atlayın.

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

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

Pandalar read_csv() Örnek

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

Çıktı:

(32561, 15)

Pandalar groupby() Yöntemi

Verileri görmenin kolay bir yolu groupby yöntemini kullanmaktır. Bu yöntem, verileri gruba göre özetlemenize yardımcı olabilir. Aşağıda groupby() yöntemiyle kullanılabilen yöntemlerin bir listesi bulunmaktadır:

  • saymak: saymak
  • dk: dk
  • maksimum: maksimum
  • demek: demek
  • medyan: medyan
  • standart sapma: sdt
  • vb

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

Yetişkinlere yönelik veri kümesiyle tek bir gruplamaya göz atalım. Gelir türüne göre tüm sürekli değişkenlerin ortalamasını alacaksınız, yani 50'in üstü veya 50'in altı:

df_train.groupby(['label']).mean()
etiket yaş fnlwgt eğitim_num Sermaye kazancı sermaye_kaybı saat_hafta
<=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

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

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

Ayrıca birden çok sütuna göre gruplandırabilirsiniz. Mesela hane tipine ve medeni duruma göre maksimum sermaye kazancını elde edebilirsiniz.

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

Groupby'ı takip eden bir çizim oluşturabilirsiniz. Bunu yapmanın bir yolu, gruplamadan sonra bir çizim kullanmaktır.

Daha mükemmel bir çizim oluşturmak için, aynı çok düzeyli dizine sahip olmak için, ortalama()'dan sonra unstack() işlevini kullanacaksınız veya değerleri 50k'den düşük ve 50k'nin üzerindeki gelire göre birleştireceksiniz. Bu durumda arsada 14 (2*7) yerine iki grup olacaktır.

Eğer kullanıyorsanız Jupyter defter, %matplotlib'i satır içine eklediğinizden emin olun, aksi takdirde hiçbir çizim görüntülenmeyecektir

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

Pandalar groupby() yöntemi Örnek

ÖZET

  • CSV veri kümesini içe aktarmak için Pandalarpd.read_csv() nesnesini kullanabilirsiniz.
  • Groupby() yöntemi, verileri gruba göre özetlemenize yardımcı olabilir.
  • Ayrıca birden çok sütuna göre gruplandırabilirsiniz. Mesela hane tipine ve medeni duruma göre maksimum sermaye kazancını elde edebilirsiniz.