Makine Öğrenmesi Algoritmaları için veriyi hazır hale getirme yollarından birisi de veri birleştirme işlemidir. Bunun için Pandas kütüphanesiden DataFrame nesnesini ve concat metodunu kullanacağız.
Numpy array olarak elde ettiğimiz değişkenleri öncelikle dataFrame'e çeviriyoruz daha sonda pandas kütüphanesiden concat metodu ile birleştiriyoruz. Concat metodu 2 DataFrame i birleştirdiği için 3. DataFrame için tekrar birleştirme işlemi yapıyoruz.
Veri birleştirme işleminden sonra veriyi eğitim test verisi olarak ayırmak istiyoruz.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
veriler=pd.read_csv("veriler.csv")
#ülke kolonu one hot encoding yapılıyor
ulke=veriler.iloc[:,0:1]#ilk kolonu alır
from sklearn.preprocessing import OneHotEncoder
ohe=OneHotEncoder(categorical_features='all')
#kolonu fit transformdan geçirip geri kolona yazsın
ulke=ohe.fit_transform(ulke).toarray()
#numpy array den dataFrame yapma(index ve kolon başlıkları eklenir)
ulke_df=pd.DataFrame(data=ulke,index=range(22),columns=['fr','tr','us'])
print(ulke_df)
#sayisal kolonlar
sayisal_kolonlar=veriler.iloc[:,1:4].values
#numpy array den dataFrame yapma(index ve kolon başlıkları eklenir)
sayisal_kolonlar_df=pd.DataFrame(data=sayisal_kolonlar,index=range(22),columns=['boy','kilo','yas'])
print(sayisal_kolonlar_df)
#cinsiyet
cinsiyet=veriler.iloc[:,4:5]#4 ile 5.kolon arası, 5.kolon dahil değil
#numpy array den dataFrame yapma(index ve kolon başlıkları eklenir)
cinsiyet_df=pd.DataFrame(data=cinsiyet,index=range(22),columns=['cinsiyet'])
print(cinsiyet_df)
#BİRLEŞTİRME-CONCAT(DataFrame ler birleştirilir)
#Veriyi Geri Birleştirme, iki veri birleştirme
ulke_sayisal_kolanlar_concat=pd.concat([ulke_df,sayisal_kolonlar_df],axis=1)#axis=1 yanyana birleştirir
#önceki birleştirmeden sonra cinsiyet ile birleştiriyoruz
sonuc=pd.concat([ulke_sayisal_kolanlar_concat,cinsiyet],axis=1)
Sadece iki DataFrame Birleştirme için pd.concat nedir? adlı makaleme bakabilirsiniz.