डेटा साइंस - डेटा तैयारी


डेटा का विश्लेषण करने से पहले, डेटा वैज्ञानिक को डेटा निकालना चाहिए, और इसे स्वच्छ और मूल्यवान बनाना चाहिए।


पंडों के साथ डेटा निकालें और पढ़ें

डेटा का विश्लेषण करने से पहले, इसे आयात/निकाला जाना चाहिए।

नीचे दिए गए उदाहरण में, हम आपको दिखाते हैं कि पायथन में पंडों का उपयोग करके डेटा कैसे आयात किया जाए।

हम read_csv()स्वास्थ्य डेटा के साथ CSV फ़ाइल आयात करने के लिए फ़ंक्शन का उपयोग करते हैं:

उदाहरण

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data)

उदाहरण समझाया गया

  • पांडा पुस्तकालय आयात करें
  • डेटा फ्रेम को नाम दें health_data
  • header=0 इसका मतलब है कि चर नामों के शीर्षलेख पहली पंक्ति में पाए जाते हैं (ध्यान दें कि 0 का अर्थ पायथन में पहली पंक्ति है)
  • sep=","इसका अर्थ है कि "," का उपयोग मानों के बीच विभाजक के रूप में किया जाता है। ऐसा इसलिए है क्योंकि हम फ़ाइल प्रकार .csv (अल्पविराम से अलग किए गए मान) का उपयोग कर रहे हैं

युक्ति: यदि आपके पास एक बड़ी CSV फ़ाइल है, तो आप head()फ़ंक्शन का उपयोग केवल शीर्ष 5 पंक्तियों को दिखाने के लिए कर सकते हैं:

उदाहरण

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data.head())

डेटा सफाई

आयातित डेटा देखें। जैसा कि आप देख सकते हैं, डेटा गलत या अपंजीकृत मानों के साथ "गंदा" है:

गंदा डेटा
  • कुछ खाली फ़ील्ड हैं
  • 9000 की औसत पल्स संभव नहीं है
  • स्पेस सेपरेटर के कारण 9 000 को गैर-संख्यात्मक माना जाएगा
  • अधिकतम पल्स के एक अवलोकन को "AF" के रूप में दर्शाया गया है, जिसका कोई मतलब नहीं है

इसलिए, विश्लेषण करने के लिए हमें डेटा को साफ करना चाहिए।


खाली पंक्तियों को हटा दें

हम देखते हैं कि गैर-संख्यात्मक मान (9 000 और AF) लापता मानों वाली समान पंक्तियों में हैं।

समाधान: हम इस समस्या को ठीक करने के लिए लापता प्रेक्षणों वाली पंक्तियों को हटा सकते हैं।

जब हम पंडों का उपयोग करके डेटा सेट लोड करते हैं, तो सभी रिक्त कक्ष स्वचालित रूप से "NaN" मानों में परिवर्तित हो जाते हैं।

तो, NaN कोशिकाओं को हटाने से हमें एक स्वच्छ डेटा सेट मिलता है जिसका विश्लेषण किया जा सकता है।

हम dropna()NaN को हटाने के लिए फ़ंक्शन का उपयोग कर सकते हैं। अक्ष = 0 का अर्थ है कि हम उन सभी पंक्तियों को हटाना चाहते हैं जिनमें NaN मान है:

उदाहरण

health_data.dropna(axis=0,inplace=True)

print(health_data)

परिणाम NaN पंक्तियों के बिना एक डेटा सेट है:

साफ किया गया डेटा

डेटा श्रेणियाँ

डेटा का विश्लेषण करने के लिए, हमें यह भी जानना होगा कि हम किस प्रकार के डेटा से निपट रहे हैं।

डेटा को तीन मुख्य श्रेणियों में विभाजित किया जा सकता है:

  1. संख्यात्मक - संख्यात्मक मान शामिल हैं। दो श्रेणियों में विभाजित किया जा सकता है:
    • असतत: संख्याओं को "पूर्ण" के रूप में गिना जाता है। उदाहरण: आपने 2.5 सत्रों को प्रशिक्षित नहीं किया हो सकता है, यह या तो 2 या 3 है
    • सतत: संख्याएं अनंत परिशुद्धता की हो सकती हैं। उदाहरण के लिए, आप 7 घंटे, 30 मिनट और 20 सेकंड या 7.533 घंटे सो सकते हैं
  2. श्रेणीबद्ध - इसमें वे मान होते हैं जिन्हें एक दूसरे के विरुद्ध नहीं मापा जा सकता है। उदाहरण: एक रंग या एक प्रकार का प्रशिक्षण
  3. सामान्य - श्रेणीबद्ध डेटा होता है जिसे एक दूसरे के विरुद्ध मापा जा सकता है। उदाहरण: स्कूल ग्रेड जहां A, B से बेहतर है और इसी तरह

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


जानकारी का प्रकार

हम info()अपने डेटा सेट के भीतर डेटा प्रकारों को सूचीबद्ध करने के लिए फ़ंक्शन का उपयोग कर सकते हैं: 

उदाहरण

print(health_data.info())

परिणाम:

डेटाटाइप फ्लोट और ऑब्जेक्ट

हम देखते हैं कि इस डेटा सेट में दो अलग-अलग प्रकार के डेटा हैं:

  • फ्लोट64
  • वस्तु

हम यहां गणना और विश्लेषण करने के लिए वस्तुओं का उपयोग नहीं कर सकते हैं। हमें टाइप ऑब्जेक्ट को फ्लोट64 में बदलना होगा (फ्लोट 64 पायथन में दशमलव के साथ एक संख्या है)।

हम astype()डेटा को फ्लोट64 में बदलने के लिए फ़ंक्शन का उपयोग कर सकते हैं।

निम्न उदाहरण "Average_Pulse" और "Max_Pulse" को डेटा प्रकार फ्लोट64 में परिवर्तित करता है (अन्य चर पहले से ही डेटा प्रकार फ्लोट64 के हैं):

उदाहरण

health_data["Average_Pulse"] = health_data['Average_Pulse'].astype(float)
health_data["Max_Pulse"] = health_data["Max_Pulse"].astype(float)

print (health_data.info())

परिणाम:

डेटाटाइप फ्लोट

अब, डेटा सेट में केवल फ्लोट64 डेटा प्रकार हैं।


डेटा का विश्लेषण करें

जब हमने डेटा सेट को साफ कर लिया है, तो हम डेटा का विश्लेषण शुरू कर सकते हैं।

हम describe()डेटा को सारांशित करने के लिए पायथन में फ़ंक्शन का उपयोग कर सकते हैं:

उदाहरण

print(health_data.describe())

परिणाम:

  अवधि औसत_पल्स मैक्स_पल्स कैलोरी_बर्नेज घंटे_कार्य घंटे_नींद
गिनती 10.0 10.0 10.0 10.0 10.0 10.0
अर्थ 51.0 102.5 137.0 285.0 6.6 7.5
कक्षा 10.49 15.4 11.35 30.28 3.63 0.53
मिनट 30.0 80.0 120.0 240.0 0.0 7.0
25% 45.0 91.25 130.0 262.5 7.0 7.0
50% 52.5 102.5 140.0 285.0 8.0 7.5
75% 60.0 113.75 145.0 307.5 8.0 8.0
मैक्स 60.0 125.0 150.0 330.0 10.0 8.0
  • गणना - प्रेक्षणों की संख्या गिनता है
  • माध्य - औसत मूल्य
  • एसटीडी - मानक विचलन (सांख्यिकी अध्याय में समझाया गया)
  • न्यूनतम - न्यूनतम मूल्य
  • 25% , 50% और 75% पर्सेंटाइल हैं (सांख्यिकी अध्याय में समझाया गया है)
  • अधिकतम - उच्चतम मूल्य