पायथन में डेटा विश्लेषण के लिए एक अनुकूल परिचय

वर्षों से, डेटा विज्ञान के लिए अजगर का उपयोग अविश्वसनीय रूप से बढ़ गया है और दैनिक रूप से बढ़ रहा है.


डेटा विज्ञान बहुत सारे उप-क्षेत्रों के साथ अध्ययन का एक विशाल क्षेत्र है, जिनमें से डेटा विश्लेषण इन सभी क्षेत्रों में सबसे महत्वपूर्ण में से एक है, और डेटा विज्ञान में किसी के कौशल के स्तर की परवाह किए बिना, यह समझना महत्वपूर्ण है या इसका कम से कम एक बुनियादी ज्ञान होना चाहिए.

डेटा एनालिसिस क्या है?

डेटा विश्लेषण एक बड़ी मात्रा में असंरचित या असंगठित डेटा की सफाई और परिवर्तन है, इस डेटा के बारे में महत्वपूर्ण अंतर्दृष्टि और जानकारी उत्पन्न करने के लक्ष्य के साथ जो सूचित निर्णय लेने में मदद करेगा।.

डेटा विश्लेषण, पाइथन, माइक्रोसॉफ्ट एक्सेल, झांकी, सास, आदि के लिए विभिन्न उपकरणों का उपयोग किया जाता है, लेकिन इस लेख में, हम इस बात पर ध्यान केंद्रित करेंगे कि अजगर में डेटा विश्लेषण कैसे किया जाता है। विशेष रूप से, यह अजगर नामक पुस्तकालय के साथ कैसे किया जाता है पांडा.

पांड क्या है?

पंडों एक खुला-स्रोत पायथन पुस्तकालय है जिसका उपयोग डेटा हेरफेर और छेड़छाड़ के लिए किया जाता है। यह तेज और अत्यधिक कुशल है और इसमें कई प्रकार के डेटा को मेमोरी में लोड करने के लिए उपकरण हैं। इसका उपयोग आकार बदलने, लेबल स्लाइस, इंडेक्स या यहां तक ​​कि डेटा के कई प्रकारों के समूह के लिए किया जा सकता है.

पंडों में डेटा संरचनाएं

पंडों में 3 डेटा संरचनाएं हैं, अर्थात्;

  • श्रृंखला
  • डेटा ढांचा
  • पैनल

उनमें से तीन को अलग करने का सबसे अच्छा तरीका है कि एक को दूसरे के ढेर के रूप में देखा जाए। तो एक DataFrame श्रृंखला का एक ढेर है और एक पैनल DataFrames का एक ढेर है.

एक श्रृंखला एक आयामी सरणी है

कई श्रृंखलाओं का एक ढेर 2-आयामी DataFrame बनाता है

कई डेटाफ़्रेम का ढेर 3-आयामी पैनल बनाता है

हम जिस डेटा संरचना के साथ काम कर रहे हैं वह 2-आयामी डेटाफ्रेम है जो हमारे द्वारा आने वाले कुछ डेटासेट के लिए प्रतिनिधित्व का डिफ़ॉल्ट साधन भी हो सकता है।.

पंडों में डेटा विश्लेषण

इस लेख के लिए, किसी इंस्टॉलेशन की आवश्यकता नहीं है। हम नामक एक उपकरण का उपयोग करेंगे colaboratory Google द्वारा बनाया गया। यह डेटा विश्लेषण, मशीन लर्निंग, और एआई के लिए एक ऑनलाइन अजगर का माहौल है। यह केवल एक क्लाउड-आधारित जुपिटर नोटबुक है जो लगभग हर अजगर पैकेज के साथ पहले से इंस्टॉल आता है जिसकी आपको डेटा वैज्ञानिक के रूप में आवश्यकता होगी।.

अब, सिर पर https://colab.research.google.com/notebooks/intro.ipynb. आपको नीचे देखना चाहिए.

ऊपरी बाएं नेविगेशन द्वारा, फ़ाइल विकल्प पर क्लिक करें और “नया नोटबुक” विकल्प पर क्लिक करें। आपको अपने ब्राउज़र में एक नया Jupyter नोटबुक पेज दिखाई देगा। पहली चीज़ जो हमें करने की ज़रूरत है वह है हमारे काम के माहौल में पंडों का आयात करना। हम निम्नलिखित कोड चलाकर ऐसा कर सकते हैं;

पीडी के रूप में आयात पांडा

इस लेख के लिए, हम अपने डेटा विश्लेषण के लिए एक आवास मूल्य डेटासेट का उपयोग करेंगे। हमारे द्वारा उपयोग किए जा रहे डेटासेट मिल सकते हैं यहाँ. पहली बात यह है कि हम इस डेटासेट को हमारे वातावरण में लोड करना चाहते हैं.

हम एक नए सेल में निम्नलिखित कोड के साथ कर सकते हैं;

df = pd.read_csv (‘https://firebasestorage.googleapis.com/v0/b/ai6-portfolio-abeokuta.appspot.com/o/kc_house_data.csv.alt=media &टोकन = 6a5ab32c-3cac-42b3-b534-4dbd0e4bdbc0 ‘, sep =’, ‘)

जब हम CSV फ़ाइल पढ़ना चाहते हैं, तो .read_csv का उपयोग किया जाता है और CSV फ़ाइल अल्पविराम-सीमांकित दिखाने के लिए हमने एक sep गुण पास किया.

हमें यह भी ध्यान रखना चाहिए कि हमारी भरी हुई CSV फ़ाइल एक चर df में संग्रहित है .

हमें बृहस्पति नोटबुक में प्रिंट () फ़ंक्शन का उपयोग करने की आवश्यकता नहीं है। हम बस अपने सेल में एक चर नाम में टाइप कर सकते हैं और Jupyter नोटबुक हमारे लिए इसे प्रिंट करेगा.

हम कोशिश कर सकते हैं कि एक नई सेल में df टाइप करके और इसे चलाकर, यह हमारे डेटासेट में हमारे लिए डेटाफ़्रेम के रूप में सभी डेटा को प्रिंट करेगा।.

लेकिन हम हमेशा सभी डेटा नहीं देखना चाहते हैं, कई बार हम केवल पहले कुछ डेटा और उनके कॉलम नाम देखना चाहते हैं। हम पहले पांच कॉलम और df.tail () को अंतिम पांच प्रिंट करने के लिए df.head () फ़ंक्शन का उपयोग कर सकते हैं। दोनों में से किसी एक का आउटपुट इस तरह दिखेगा;

हम इन कई पंक्तियों और डेटा के स्तंभों के बीच संबंधों की जांच करना चाहते हैं। .Describe () फ़ंक्शन हमारे लिए ठीक यही करता है.

 रनिंग df.describe () निम्नलिखित आउटपुट देता है;

हम तुरंत देख सकते हैं कि .describe () डेटाफ्रेम में प्रत्येक कॉलम के माध्य, मानक विचलन, न्यूनतम और अधिकतम मान और प्रत्येक के प्रतिशत को देता है। यह विशेष रूप से बहुत उपयोगी है.

हम अपने 2D DataFrame की शेप की जाँच कर सकते हैं कि उसमें कितनी पंक्तियाँ और कॉलम हैं। हम ऐसा कर सकते हैं कि df.shape का उपयोग करके जो प्रारूप (पंक्तियों, स्तंभों) में टपल लौटाता है.

हम df.columns का उपयोग करके अपने DataFrame में सभी कॉलमों के नाम भी देख सकते हैं.

क्या होगा अगर हम सिर्फ एक कॉलम का चयन करना चाहते हैं और उसमें सभी डेटा को वापस करना चाहते हैं? यह एक शब्दकोश के माध्यम से टुकड़ा करने की क्रिया के समान है। एक नए सेल में निम्नलिखित कोड टाइप करें और इसे चलाएं

df [‘मूल्य’]

उपरोक्त कोड मूल्य स्तंभ लौटाता है, हम इसे नए चर में सहेज कर आगे बढ़ा सकते हैं

कीमत = df [‘मूल्य’]

अब हम हर दूसरे एक्शन को कर सकते हैं जो हमारे प्राइस वैरिएबल पर एक DataFrame पर किया जा सकता है क्योंकि यह एक वास्तविक DataFrame का सबसेट है। हम df.head (), df.shape आदि जैसे सामान कर सकते हैं..

हम कॉलम नामों की सूची को df में उत्तीर्ण करके कई कॉलम भी चुन सकते हैं

डेटा = df [[‘मूल्य’, ‘बेडरूम’]]

यदि हम data मूल्य ’और, शयनकक्षों’ के नाम के साथ उपरोक्त कॉलम का चयन करते हैं, यदि हम एक नई सेल में data.head () टाइप करते हैं, तो हमारे पास निम्नलिखित होंगे

स्लाइसिंग कॉलम का उपर्युक्त तरीका उस कॉलम में सभी पंक्ति तत्वों को लौटाता है, अगर हम पंक्तियों का एक उपसमूह और हमारे डेटासेट से स्तंभों का सबसेट वापस करना चाहते हैं तो क्या होगा? यह .iloc का उपयोग करके किया जा सकता है और इसे अजगर सूचियों के समान एक तरह से अनुक्रमित किया जाता है। तो हम कुछ ऐसा कर सकते हैं

df.iloc [50: 3]

जो अंत तक 50 वीं पंक्ति से तीसरा कॉलम लौटाता है। यह बहुत साफ-सुथरा है और अजगर में कताई सूची के समान है.

अब कुछ वास्तव में दिलचस्प चीजें करते हैं, हमारे आवास मूल्य डेटासेट में एक कॉलम होता है जो हमें एक घर की कीमत बताता है और एक अन्य स्तंभ हमें बेडरूम की संख्या बताता है जो विशेष रूप से घर में है। आवास की कीमत एक निरंतर मूल्य है, इसलिए यह संभव है कि हमारे पास दो घर हैं जिनकी कीमत समान है। लेकिन बेडरूम की संख्या कुछ भिन्न है, इसलिए हमारे पास दो, तीन, चार बेडरूम आदि के साथ कई घर हो सकते हैं.

क्या होगा यदि हम सभी घरों को समान संख्या में बेडरूम के साथ प्राप्त करना चाहते हैं और प्रत्येक असतत बेडरूम का औसत मूल्य पाते हैं? पंडों में ऐसा करना अपेक्षाकृत आसान है, इसे इस प्रकार किया जा सकता है;

df.groupby (‘बेडरूम’) [‘मूल्य’] .mean ()

उपरोक्त प्रथम समूह डेटाफ्रेम द्वारा df.groupby () फ़ंक्शन का उपयोग करके समरूप शयनकक्ष संख्या के साथ डेटाफ़्रेम करता है, फिर हम इसे सिर्फ बेडरूम स्तंभ देने के लिए और डेटासेट में प्रत्येक घर का मतलब खोजने के लिए .mean () फ़ंक्शन का उपयोग करने के लिए कहते हैं।.

क्या होगा अगर हम उपरोक्त कल्पना करना चाहते हैं? हम यह जांचना चाहते हैं कि प्रत्येक अलग बेडरूम नंबर की औसत कीमत कैसे बदलती है? हमें बस पिछले कोड को एक .plot () फ़ंक्शन के लिए इस तरह से चेन करने की आवश्यकता है;

df.groupby (‘बेडरूम’) [‘मूल्य’] .mean ()। प्लॉट ()

हमारे पास एक आउटपुट है जो इस तरह दिखता है;

उपरोक्त हमें डेटा में कुछ रुझान दिखाता है। क्षैतिज अक्ष पर, हमारे पास बेडरूम की एक अलग संख्या है (ध्यान दें, कि एक से अधिक घरों में एक्स संख्या में बेडरूम हो सकते हैं), ऊर्ध्वाधर अक्ष पर, हमारे पास कीमतों का मतलब है जैसा कि क्षैतिज पर बेडरूम की संबंधित संख्या है। एक्सिस। अब हम तुरंत देख सकते हैं कि 5 से 10 बेडरूम वाले घरों में 3 बेडरूम वाले घरों की तुलना में बहुत अधिक लागत है। यह भी स्पष्ट हो जाएगा कि जिन घरों में लगभग 7 या 8 बेडरूम हैं, उनकी कीमत 15, 20 या 30 कमरों वाले लोगों की तुलना में बहुत अधिक है.

उपरोक्त जैसी जानकारी क्यों डेटा विश्लेषण बहुत महत्वपूर्ण है, हम उस डेटा से उपयोगी जानकारी निकालने में सक्षम हैं जो बिना विश्लेषण के तुरंत या बिल्कुल असंभव नहीं है.

खोए आँकड़े

मान लें कि मैं एक सर्वेक्षण ले रहा हूं जिसमें प्रश्नों की एक श्रृंखला है। मैं हजारों लोगों के साथ सर्वेक्षण का लिंक साझा करता हूं ताकि वे अपनी प्रतिक्रिया दे सकें। मेरा अंतिम लक्ष्य इस डेटा पर डेटा विश्लेषण चलाना है ताकि मुझे डेटा से कुछ महत्वपूर्ण जानकारी मिल सके.

अब बहुत कुछ गलत हो सकता है, कुछ सर्वेक्षक मेरे कुछ सवालों के जवाब देने में असहज महसूस कर सकते हैं और इसे खाली छोड़ सकते हैं। मेरे सर्वेक्षण के कई हिस्सों के लिए बहुत सारे लोग ऐसा कर सकते थे। इसे समस्या नहीं माना जा सकता है, लेकिन कल्पना करें कि क्या मैं अपने सर्वेक्षण में संख्यात्मक डेटा एकत्र कर रहा हूं और विश्लेषण के एक हिस्से के लिए मुझे योग, माध्य या कुछ अन्य अंकगणितीय ऑपरेशन की आवश्यकता है। कई गुम मूल्यों से मेरे विश्लेषण में बहुत सी गलतियाँ हो जाएंगी, मुझे इस लापता मूल्यों को खोजने और उन्हें बदलने के लिए कुछ मूल्यों के साथ एक तरीका निकालना होगा जो उनके लिए एक करीबी विकल्प हो सकता है।.

पंडों ने हमें एक फ़ंक्शन प्रदान किया है जो कि एक डेटाफ़्रेम में गुम मानों को खोजने के लिए प्रदान करता है जिसे इसनुल () कहा जाता है.

Isnull () फ़ंक्शन का उपयोग इस तरह किया जा सकता है;

df.isnull ()

यह बूलियनों का एक डाटाफ्रेम लौटाता है जो हमें बताता है कि मूल रूप से मौजूद डेटा ट्रूली गायब था या गलत तरीके से गायब था। आउटपुट इस तरह दिखेगा;


हमें इन सभी लापता मूल्यों को बदलने में सक्षम होने की आवश्यकता है, सबसे अधिक बार लापता मूल्यों का विकल्प शून्य के रूप में लिया जा सकता है। कई बार इसे डेटा वैज्ञानिक और डेटा के उपयोग के मामले के आधार पर अन्य सभी डेटा या संभवतः इसके आसपास के डेटा के माध्यम के रूप में लिया जा सकता है।.

किसी DataFrame में सभी लापता मानों को भरने के लिए, हम .fillna () फ़ंक्शन का उपयोग करते हैं;

df.fillna (0)

उपरोक्त में, हम शून्य के साथ सभी खाली डेटा भर रहे हैं। यह कोई अन्य संख्या हो सकती है जिसे हम इसे निर्दिष्ट करते हैं.

डेटा के महत्व को अधिक महत्व नहीं दिया जा सकता है, यह हमें अपने डेटा से ही सही उत्तर प्राप्त करने में मदद करता है। डेटा विश्लेषण वे कहते हैं कि डिजिटल अर्थव्यवस्थाओं के लिए नया तेल है.

इस लेख में सभी उदाहरण मिल सकते हैं यहाँ.

अधिक गहराई से जानने के लिए, देखें पायथन और पंडों के साथ डेटा विश्लेषण ऑनलाइन पाठ्यक्रम.

टैग:

  • अजगर

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map