कभी-कभी डेटा विश्लेषण में स्ट्रिंग को संख्या (int/float) में बदलने की आवश्यकता होती है। प्रत्येक स्ट्रिंग के लिए, हम स्ट्रिंग मानों को अलग करने के लिए एक अद्वितीय पूर्णांक मान निर्दिष्ट कर सकते हैं।
इसके लिए, हम कॉमा सेपरेटेड वैल्यूज़ (CSV) फ़ाइलों में डेटा का उपयोग करते हैं। मान लें कि हमारे पास एक एक्सेल फ़ाइल है जिसमें CSV डेटा निम्नानुसार है -
| कंपनी | उद्योग | सिफारिश |
|---|---|---|
| HDFC बैंक | वित्त | होल्ड |
| अपोलो | स्वास्थ्य सेवा | खरीदें |
| हीरो | ऑटोमोबाइल | अंडरपरफॉर्म |
| यस बैंक | वित्त | होल्ड |
| M&M | ऑटोमोबाइल | अंडरपरफॉर्म |
| फोर्टिस | स्वास्थ्य सेवा | खरीदें |
| मारुति | ऑटोमोबाइल | अंडरपरफॉर्म |
उपरोक्त केवल एक बड़े डेटासेट से कुछ पंक्तियाँ हैं, हमें विभिन्न सिफारिशों यानी खरीदें, होल्ड, अंडरपरफॉर्म आदि को पूर्णांक मान देने की आवश्यकता है, जो हमारे मेटाडेटा से जुड़ेंगे। इसलिए उपरोक्त इनपुट के लिए, हमारा अपेक्षित आउटपुट कुछ इस तरह होगा -
| कंपनी | उद्योग | सिफारिश |
|---|---|---|
| HDFC बैंक | वित्त | 2 |
| अपोलो | स्वास्थ्य सेवा | 1 |
| हीरो | ऑटोमोबाइल | 3 |
| यस बैंक | वित्त | 2 |
| M&M | ऑटोमोबाइल | 3 |
| फोर्टिस | स्वास्थ्य सेवा | 1 |
| मारुति | ऑटोमोबाइल | 3 |
यहां हमारे स्ट्रिंग (कॉलम मान) को पूर्णांक से बदलने का एक तरीका है।
कोड 1
# आवश्यक लाइब्रेरी आयात करें
import pandas as pd
# pandas के read_csv() का उपयोग करके CSV फ़ाइल को Python में आयात करें
dataframe = pd.read_csv("data_pandas1.csv")
# कुंजी-मूल्य जोड़ी का शब्दकोश बनाएं, जहां कुंजी आपका पुराना मान (स्ट्रिंग) है और मूल्य आपका नया मान (पूर्णांक) है।
Recommendation = {'Buy': 1, 'Hold': 2, 'Underperform': 3}
# उपरोक्त शब्दकोश से इन विभिन्न कुंजी-मूल्य जोड़ी को अपनी तालिका में निर्दिष्ट करें
dataframe.Recommendation = [Recommendation[item] for item in dataframe.Recommendation]
# नई तालिका
print(dataframe)
परिणाम
Company Industry Recommendation 0 HDFC Bank Finance 2 1 Apollo Healthcare 1 2 Hero Automobile 3 3 Yes Bank Finance 2 4 M&M Automobile 3 5 Fortis Healthcare 1 6 Maruti Automobile 3
उपरोक्त कोड को लिखने का एक और तरीका है, जहां हम शब्दकोश से निपटते नहीं हैं बल्कि सीधे कॉलम फ़ील्ड (यहां सिफारिशें) को कोई अन्य मान निर्दिष्ट करते हैं यदि शर्त मेल खाती है।
# आवश्यक लाइब्रेरी आयात करें
import pandas as pd
# pandas के read_csv() का उपयोग करके CSV फ़ाइल को Python में आयात करें
dataf = pd.read_csv("data_pandas1.csv")
# सीधे सिफारिश कॉलम के व्यक्तिगत फ़ील्ड को अलग पूर्णांक मान निर्दिष्ट करें
# यदि शर्त मेल खाती है। यानी डेटाफ़्रेम में, सिफारिश कॉलम में "Buy" है तो हम
# इसे पूर्णांक 1 निर्दिष्ट करेंगे।
dataf.Recommendation[dataf.Recommendation == 'Buy'] = 1
dataf.Recommendation[dataf.Recommendation == 'Hold'] = 2
dataf.Recommendation[dataf.Recommendation == 'Underperform'] = 3
print(dataf)
परिणाम
Company Industry Recommendation 0 HDFC Bank Finance 2 1 Apollo Healthcare 1 2 Hero Automobile 3 3 Yes Bank Finance 2 4 M&M Automobile 3 5 Fortis Healthcare 1 6 Maruti Automobile 3
ऊपर मैंने केवल कुछ तरीकों का उल्लेख किया है जिनसे आप अपनी तालिका (CSV प्रारूप फ़ाइल) में स्ट्रिंग डेटा को पूर्णांक मान में बदल सकते हैं और कई उदाहरण सामने आते हैं जब आपके पास अपने डेटा फ़ील्ड को स्ट्रिंग से पूर्णांक में बदलने की समान आवश्यकता होती है।