मैं pyspark अनुप्रयोगों के साथ काम करने के लिए Ipython नोटबुक का उपयोग कर रहा हूं। मेरे पास CSV फ़ाइल है जिसमें यह निर्धारित करने के लिए कई श्रेणीगत कॉलम हैं कि आय 50k से अधिक है या नहीं। मैं आय सीमा निर्धारित करने के लिए सभी आदानों को लेते हुए एक वर्गीकरण एल्गोरिदम प्रदर्शन करना चाहूंगा। मुझे मैप किए गए चर के लिए चर का एक शब्दकोश बनाने और प्रसंस्करण के लिए संख्याओं के लिए चर को मैप करने के लिए एक मानचित्र फ़ंक्शन का उपयोग करने की आवश्यकता है। अनिवार्य रूप से, मैं अपने डेटासेट को संख्यात्मक स्वरूप में रखना चाहूंगा ताकि मैं मॉडलों को लागू करने पर काम कर सकूं।
डेटा सेट में, शिक्षा, वैवाहिक स्थिति, कामकाजी वर्ग आदि जैसे श्रेणीबद्ध कॉलम हैं। क्या कोई मुझे बता सकता है कि उन्हें pyspark में संख्यात्मक कॉलम में कैसे बदलना है?
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}
मैंने काम वर्ग के लिए प्रमुख मूल्य जोड़े के साथ एक नमूना शब्दकोश बनाया। लेकिन, मुझे नहीं पता कि इसे मैप फ़ंक्शन में कैसे उपयोग किया जाए और सीएसवी फ़ाइल में संबंधित डेटा को संबंधित मूल्य के साथ बदलें।
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)
यह वह कोड है जिसे मैंने सामान्य अजगर में वर्गीकृत डेटा में संख्यात्मक डेटा में परिवर्तित करने के लिए लिखा है। यह बढ़िया काम करता है। मैं चिंगारी के संदर्भ में रूपांतरण करना चाहता हूं। और, डेटा स्रोत में 9 श्रेणीबद्ध कॉलम हैं। क्या सभी 9 कॉलम के लिए केवी जोड़ी के लिए शब्दकोश अपडेट प्रक्रिया को स्वचालित करने का एक तरीका है?