Pyspark uygulamaları ile çalışmak için Ipython dizüstü bilgisayar kullanıyorum. Gelir 50k aralığının altında veya altında olup olmadığını belirlemek için çok sayıda kategorik sütun içeren bir CSV dosyası var. Gelir aralığını belirlemek için tüm girdileri alarak bir sınıflandırma algoritması yapmak istiyorum. Eşlenen değişkenler için değişkenler sözlüğü oluşturmak ve değişkenleri işlemek için sayıları eşlemek için bir harita işlevi kullanmanız gerekir. Temel olarak, veri setimin sayısal bir biçimde olmasını isterdim, böylece modelleri uygulamak için çalışabilirim.
Veri setinde, eğitim, medeni durum, işçi sınıfı vb. Kategorik sütunlar var.
workclass = {'?':0,'Federal-gov':1,'Local-gov':2,'Never- worked':3,'Private':4,'Self-emp-inc':5,'Self-emp-not-inc':6,'State-gov':7,'Without-pay':8}
İş sınıfı için anahtar değer çiftleriyle örnek bir sözlük oluşturdum. Ancak, bunu bir harita işlevinde nasıl kullanılacağını ve CSV dosyasındaki kategorik verileri karşılık gelen değerle nasıl değiştireceğim bilmiyorum.
wc = pd.read_csv('PATH', usecols = ['Workclass'])
df = pd.DataFrame(wc)
wcdict = {' ?':0,' Federal-gov':1,' Local-gov':2,' Never-worked':3,' Private':4,' Self-emp-inc':5,' Self-emp-n-inc':6,' State-gov':7,' Without-pay':8}
df_new = df.applymap(lambda s: wcdict.get(s) if s in wcdict else s)
print(df_new)
Bu kategorik verileri sayısal verilere dönüştürmek için normal python'da yazdığım kod. İyi çalışıyor. Dönüşümü kıvılcım bağlamında yapmak istiyorum. Ve veri kaynağında 9 kategorik sütun vardır. Sözlük güncelleme işlemini 9 sütunun tümü için bir KV çiftine sahip olacak şekilde otomatikleştirmenin bir yolu var mı?