Hello all, my name is Krishna Aayak and welcome to my YouTube channel. So guys, बहुत दिनों के बाद मैं ये Python playlist continue कर रहा हूँ. Sorry क्योंकि मैं थोड़ा काम में busy था, family work में busy था, तो इसलिए मैं बहुत सारे videos upload नहीं कर पाया, बट आप किसी चीज़ का attention मत लीज़े, मैं videos definitely बनाओंगा, सारे के सारे data science के videos Hindi में भी बनाओंगा, string.io files के साथ कैसे काम कर सकते हैं.
और उसमें हम लोग यह भी देखा कि किन्हें डिफरेंट टाइप्स के इडिया हम लोग कर सकते हैं तो यह था टोटोरियल टेवन्थ अब हम लोग टोटोरियल टेवन्थ में है यहां पर हम लोग स्पेसिफिकली वर्क करेंगे कि जेसन फाइल के साथ हम लोग कैसे काम करें जो जेसन डेटा होता है उसके साथ कैसे काम करें उसको हम लोग रीड करके डेटा फ्रेम में कैसे कनवर्ट करें और बहुत सारे चीज और वो सारे के सारे databases में data जो store होता है वो key value pairs में होता है या nested key value pairs में होता है ठीक है तो इसलिए हमको ये समझना है कि भाई जब भी भी हम वो data को probably read कर रहे हैं तो उसको हम लोग data frame में कैसे convert करेंगे और उसको हम लोग analysis कैसे करेंगे इस वीडियो में हम तीन main function देखने वाले हैं वो है read underscore json, to underscore json और json normalize ठीक है अब पहली बात तो हम लोग start करते हैं बहुत ही simple चीज से, but उससे पहले please make sure that you subscribe the channel, bell notification icon प्रेस कर दीजिया कि मैं बहुत सारे वीडियो डालने वाला हूँ, आज से वो चीज everyday एक वीडियो आने का status आई जाएगा, ठीक है? तो पहली बात तो मैं एक data बनाता हूँ, यह data मैंने simple key value pairs के हिसाब से बनाया हूँ, तो यहाँ पर देखे आप employee name is equal to james, email is equal to james at the rate gmail.com, और job profile एक nested list बनाया हूँ, जो भी key value pairs के format में है, ठीक है तो इन शॉट यह नेस्टेड डिशनरी ही है ठीक है और इसको मैंने स्ट्रिंग में कन्वर्ट किया हूं एक सिंगल सिंगल कोट डालकर ठीक है यहां पर सिंगल कोट यहां पर सिंगल कोट तो जब मैं एक्सेक्यूट करूं इसको और यहां पर मैं अगर टाइप ऑफ उससे पहले मैं Pandas इंपोर्ट कर लेता हूँ, import Pandas as PD, और मैं यहाँ लिख देता हूँ PD underscore read underscore JSON, और यहाँ मैं डाल देता हूँ data, अब पहली बात तो इसका functionality समझीए, क्या है PD underscore read underscore JSON, उससे पहले यह हम execute कर देते हैं, और यहाँ पर मैं लिख देता हूँ, अब हम इसको समझते क तो यहाँ पर लिखते हैं कि converts a JSON string to Pandas object अभी फिल्वक जो हम लोगने string define किया था हमको पता है यह JSON format में है ठीक है और हमलोंने इसको specifically string बनाया है यह single single quotes आगे डाल के अब चलिए हमको verify करना है whether this this is a JSON string or not valid JSON string or not मैं क्या करता हूँ एक website है jasonlint.com ठीक है इस string ठीक है पुरा का पुरा string copy paste कर दूँगा वहाँ आगे का quotes मत डालिएगा, आप इधर single quotes मत डालिएगा, ठीक है, इसमें, क्योंकि हमको specifically नहीं बोलना है, हमने बोलना है कि whether this is JSON data or not, अब मैं जाकर अगर click करूँ Validate JSON में, तो यहाँ दिखाता है result, it is Valid JSON, और उसके हिसाब से वो formatting कर रहा है, तो इसका मतलब हम लोग य तो उसी लिए मैं उसके हिसाब से यह data को भेजाओ अब चलिए execute करके देखते हैं तो यहाँ पे आप simply तरीके से देखे जो यह employee name था जो key value pairs है यह key value pairs है और यह भी key value pairs है ठीक है obviously we know that यहाँ पे nested है but हमेशा याद रखें जो main key है न वो आपका by default column name हो गया employee name, email and job profile ठीक है और उसके हिसाब से जो उसका value था james, james at the rate gmail.com अब आप सोच रहे होंगे क्रिश क्या हम इसको कुछ नहीं कर सकते हैं कर सकते हैं वो भी मैं दिखाऊंगा उसके लिए हम लोग वाली चीजों में जाना है JSON normalize अगर आपको सिर्फ इसी के ऊपर काम करना है तो आप क्या कर सकते हैं ये वाला column उठा सकते हैं ठीक है और इसको बट एक चीज आपको समझने की जरूरत है, एक है बहुती important parameter, अगर मैं shift टाब बड़ा बाउं, इधर second parameter आता है orient, अब ये orient में क्या-क्या values आ सकता है, orient एक string value है, अगर एक dictionary type data है, ठीक है, dictionary type तो आप split use कर सकते हैं, ठीक है, मैं बताऊंगा, सारे चीज़ मैं use करके दिखाऊंगा आपको, just in some time, ठीक है, यहाँ पे होता है index, यहाँ पे भी होता है columns, यहाँ पे होता है values, ठीक है, तो यह सारे different different values है, जो आप definitely use कर पाते हैं, और मैंने इसको execute कर दिया इधर, अब, मैं चलिए इसको लिख देता हूं, orient is equal to index, ठीक है, मैं starting records से चलता हूं, ठीक है, बहुत सारे different different हम लोग देखता है, records है, index है, columns है, हम इसको execute कर देता है, तो यह देखे, by default यह records लेता है, क्योंकि यहाँ भी जब हम execute करें तो same output आया, और यहाँ भी जब हम execute करें तो same output आया, है इसका मतलब जो भी हमारा डाटा आ रहा है हमको इसको रिकॉर्ड में डालना है जो भी वैल्यूज आ रहा है तो यह एक ऑप्शन हो गया चलिए दूसरा ऑप्शन देखते हैं अगर मैं इसको बोलूं रिकॉर्ड के बर्ले मैं बोलता हूं इंडेक्स अब जेम्स जेम्स आफ रेट gmail.com एंड ऑल झाल लेकिन मेरे इस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस तरह के लिए जिस लेकिन यह आपके लिए एक विशेष होगा कि आप एक बार फॉरमेट कैसा चाहिए वह देखेंगे आप गूगल करके देखें हर चीज में पढ़ाऊंगा मेरे अब यह तीन हो गया परमेटर मैंने यह यूज किया रिकॉर्ड इंडेक्स प्लेट चलिए और देखते हैं कौन से कौन से परमेटर से तो अगर मैं यहां नीचे जाओं और यहां पर मैं देखूं ओरियंट में और क्या आता है स्प्लिट हो गया रिकॉर्ड्स हो गया इंडेक्स हो गया कॉलम्स हो गया कॉलम्स का कुछ है क्या यूसेज यहां पर देखते हैं तो अगर मैं कॉलम्स एक्सीट करो तो देखें आ� तो I hope आपको कुछ idea मिल गया record underscore json के बारे में कि कोई भी आपका json string होगा उसको आप convert कर सकते हैं इस नॉट नेस्सरी के लिए आपका json string हमेशा इसी format में हो nested format में भी हो सकता है different type के format में भी हो सकता है आपको उस तरीके से हिसाप से उस तरीका parameter डाल के orientation का आपको data read करना है अब चलिए एक simple सा हम लोग second वाले में जाते हैं एक data frame है हमारे पास उसको convert कर देंगे json में ठीक है तो इसके लिए मैं एक simple सा data frame बना देता हूँ, तो मैं यहाँ लिखूँगा pd.dataframe, यहाँ मैं copy code कर देता हूँ यहाँ से, मेरे पास एक notebook में file code है, तो मैं यहाँ लिख देता हूँ, यह देखे, यहाँ पर हम क्या कर रहे हैं, देखे, pd.dataframe से आपको obviously data frame बनाने आता है और इसके अंदर आपका दो rows है, row 1 and row 2, इसका row का नाम है, row index का नाम है, ठीक है, और column का नाम है, column 1 and column 2, तो अगर मैं execute करूँ, और मैं अगर इसको df पे देखूँ, क्या आता है, तो ऐसे आपका कुछ data देखता है, अब मैं ये data को आपको json में convert करके दिखाता हूँ, तो अ पूरा का पूरा data frame को इसने JSON में convert कर दिया क्योंकि आपको probably ऐसे डेटा पूरा का पूरा MongoDB में डालना हो तो आप डाल सकते हैं आप इसको पूरा का पूरा push कर सकते हैं MongoDB में MongoDB का connector यूज़ करके बट ये सबसे important है ये कैसे इसको JSON में convert कर रहा है अब ये वहाँ पे देखिए आप अगर मैं here 2 underscore JSON में shift टाप दबाओ अब plus दबा दू इधर तो इसका functionality क्या है converts the object to a JSON string जो भी object हम वहाँ पर दे रहे हैं वो JSON string में convert कर देगा ठीक है और यहाँ पे भी orientation यूज होता है, default is index, अब मैं यहाँ पे orientation, orient, orient की है, अगर मैं यहाँ orient is equal to index लिख दू, और मैं execute करूँ, देखें मैंको same output आ रहा है, इस case में output क्या हुआ, रूके मैं इसको फिर से अटा देता हूँ, और मैं इसको ना नए लाइन में लिख देता हूं, so that यह आपके पास notes रहे, और यही file में डालने वाला हूं, right, इसलिए मैं same चीजी कर देता हूं, ठीक है, तो यहां देखे क्या कर रहा है, पहली बात तो यह दोनों same चीज है, by default index यूज़ हो रहा है, यह row 1 को लेता है, उस की वैल्यू पैर्ट्स को देखिए कैसे तरह के से बना रहा है, कॉलम 1 का की वैर्यू में, कॉलम 2 का है, ऐसे ही रो 2 को नया की बना देता है, उसके बाद सब की's कॉलम 1 और कॉलम 2 को बना देता है with different data, ठीक है, अब, चलिए दूसरा पैर्मेटरी इसकरते है, df underscore, df dot, 2 underscore json, तो यहाँ आपका जो main keys है, column 1 आ गया, उसके अंदर आपका rows 1, a, b, और columns 2, row 1, b, d, ठीक है, तो b, d, देखें, आप इसमें focus करिए, ठीक है, column 1, पहली बात तो देखें, जब focus करता है columns में, columns में focus किया, row 1 में आपका a, c, ठीक है, यहाँ देखें, row 1, a, row 2, c, इस तरीके, focus is on आपका की हो गया और वैल्यू आपका यह और यह हो गया कॉलम टू आपका नेक्स्ट की हो गया फिर से रोवान का बी और डी हो गया तो उसके हिसाब से आपका डाटा इधर दिख रहा है ठीक है यह डिफरेंसेस जानना आपको बहुत जरूरी है क्योंकि आपको डेफिनेटी अब देखें, records के format में क्या होता है, कि row index को ignore ही कर देते हैं, तो column 1, column 2, तो column 1 का value A, column 2 का value B, column 1 का value C, column 2 का value D, तो यहाँ पे आपको एक different different तरीके से जैसा भी JSON file बनाना है, वो आपको मदद कर देता है बनाने के लिए, ठीक है, तो I hope आप लोगों को समझ में आ रहा हो, एक औ तो मैंने यहां स्प्लिट लिख दिया तो स्प्लिट में देखिए आपको क्या आ रहा है बहुत ही सिंपल तरीके से कॉलम्स का इनफॉर्मेशन अलग से इंडेक्स का इनफॉर्मेशन अलग से डाटा का इनफॉर्मेशन अलग से ठीक है तो यह काफी काफी अच्छा चीज है अब मैं यह एक्सीविट कर दो टेबल तो यहां पर इंफॉर्मेशन मिलेगा स्कीमा फिल्ड्स उसका टाइप क्या है कॉलम वांट टाइप स्ट्रिंग यह सारा चीज यह क्यों यूज करते हैं मैंने तो अभी तक यूज किया नहीं था क्योंकि मैंने जब यूजिक हो सकता है जिसको भी जरूरत है क्योंकि आप देंगे यह भी जैसा फाइल के जिसा आ रहा है ठीक है आप आप यह लोगों को यह चीज समझ में आ रहा हूं बट आप यह सारा सारा कनवर्ड कर सकते हैं बाकी अ अगर मैं इसको copy करके, मैं यहाँ लिख दो schema is equal to ये, ठीक है, और मैं execute कर दू, आप इसको obviously convert कर सकते हैं न, मैं यहाँ लिख दूँगा pd.read underscore json, और यहाँ मैं लिख देता हूँ data, देखे यह वाला पूरा का पूरा schema का data, और यहाँ मैं orientation table लिख दूँगा, तो अब नहीं देखिए आप अपने आप उस पर कन्वर्ट हो जाएगा ठीक है तो यह स्कीमा को हम लोग वापिस का वापिस कीमा के हिसाब से कन्वर्ट कर पा रहे हैं तो यह भी काफी अच्छा सही सही फंक्शनालिटी है जो मैंने कभी यूज किया नहीं है बट मैं मैंको लगता है कि दीएफ डॉट हेड ठीक है और मैं यहां बना देता हूं और सेल्स अब मैं यह डीएफ डॉट हेड को फिर से कन्वर्ट कर सकता हूं जेसोन में राइट तो अगर मैं टू अंडरसको जेसोन लिख दूं और जहां पर मेरा फोकस होगा इंडेक्स पर तो यहां पर मेरा ओरियं चलिए बट एक amazing चीज देखते हैं ठीक है, normalize data के हिसाब से, ठीक है, अब आप definitely एक चीज देख लिये हैं यहाँ पे, देखे, जब ही मैं यह वाला चीज यूज करूँ, देखे, आप, let's say, यह data मेरा है, ठीक है, यहां एक्सग्रीट कर देता हूं ठीक है तो यह मेरा डाटा रहा और मैं जब यहां पर पीडी डॉट रीड अंडरस्कोड जेसोन डाल रहा था और मैं यह डाटा रिट कर रहा था बाई डिफॉल्ट आपको पता है क्या होगा और मैंने एक्सग्रीट किया एक चीज आप यह अजम अजय कर पा रहे होंगे ठीक है यहां पर आप एक चीज अजय कर पा रहे हैं कि इसका इंटरनल डाटा अगर मेरे को ये चीज करवाना है, internally भी कुछ करवाना है, तो हमारे पास एक अच्छा inbuilt function है, जिसको हम लोग बोलते हैं, json underscore normalize, तो चलिए हम लोग देखते हैं कि json underscore normalize करता क्या है, तो यहाँ पे हम लिखेंगे pd.json normalize, और यहाँ पे हम प्रेस कर देते हैं shift टाब, और तो हम लोग obviously उसको semi-structured बहुत लेंगे, ठीक है, और usually जो भी भी हम यह no-sql वाला type का data पर काम करते हैं, वो semi-structured ही रहता है, तो अगर मैं यही data को डालूं तो क्या होगा, चलिए, मैं अगर यही data को डाल देता हूँ, तो क्या होगा, यहाँ पर obviously हमको error आ रहा है, not implemented error, ठी यहाँ पर दिख रहा है, semi-structured JSON data, string data नहीं, semi-structured JSON data, तो पहली बात तो हमको जो भी data दे रहे हैं, वो JSON format में होना चाहिए, तो अगर मैं इसको list बना दू, ऐसे, list बना दू, और इसको मैं validate कर देता हूँ यहाँ से, देखे, मैं validate कर देता हूँ, तो यहाँ पे हमारा एक error आ र अब मैंने सिर्फ एक ब्राकेट आइड किया है इधर से और उधर से ठीक है इतना ही किया है अब चलिए मैं एग्जिक्यूट कर देता हूं अब मैं जेसन नॉर्मलाइज्ड डेटा यूज करके इसको रीड करूं तो ये आटोमाटिकली अभी भी हमको दिखा नहीं है बट द तो यहां से भी मैंने square braces हटा दिया है और भार square braces कर दिया है तो अगर मैं इसको execute करूँ तो यह देखें क्या type का होता है पहली बात तो type of data ठीक है तो type of data में क्या हो रहा है यह एक list है तो अब इस list को देखें हम लोग normalize data से कैसे convert कर सकते हैं तो मैं यहां जाओंगा और इसको जो जॉब प्रोफाइल के अंदर टाइटल वन था उसको एक सेपरेट फिल्ड ले लिया है और जॉब प्रोफाइल के अंदर जो टाइटल टू था उसको एक सेपरेट फिल्ड ले लिया है तो डेफिनेटली आप ये सारे चीज कर सकते हैं नॉर्मलाइज डेटा के साप से औ की वैल्यू पेयर्स है और इसको हम लोग नेस्टेड डिशनरी भी बोल सकते हैं बट यह सारा चीज होना चाहिए लिस्ट के अंदर ठीक है तो यहां पर आप देखिए एक डेटा का एग्जांपल है यहां पर क्या-क्या फीचर है हमारे पास आईडी इज गॉल्ड वन नेम ठीक है डिशन नहीं मतलब डाटा फ्रेम तो मैं क्या करूंगा यहां पर लिखूंगा पीडी डॉट जेसन अंडर्सको नॉर्मलाइज और यहां मैं लिख दूंगा डाटा चलिए मैं एग्जिक्यूट जब करता हूं तो देखें अपने आप आईडी को इधर उसको automatically नैन डाल देता है, उसके हिसाब से mark reg 130 and 60 भी डाल दिया, information 2, faker 30, तो जो भी values नहीं होता है उपर के हिसाब से, यह JSON normalize automatically take care कर लेता है, कहाँ पे नैन आना चाहिए, ठीक है, तो I hope आप लोगों को यह समझ में आ गया हो, बहुत ही अच्छा चीज, इतना समझ में आ गय तो यहाँ आता है एक parameter जो इसको हम लोग बोलते हैं max level, यह आपको values दिख रहा होगा max level, ठीक है, अगर समझिए मैं यही copy paste कर दू, आपको बताता हूँ इसका functionality क्या है, और यहाँ डाल दू मैं max level is equal to 0, तो मैं execute कर देता हूँ, तो देखी क्या हो गया, जब मैं max level is equal to 0 कर रह मेरे को इसके अंदर नहीं गुसना है और पता लगाना है कि क्या परामेटर है, not a problem at all, मेरे को जाना ही नहीं है अंदर, उसके अलावा, second वाला जो चीज देख रहे हैं, वह यहाँ पर हम लोग यह देख सकते हैं कि height is equal to 130 and 60, यह भी नहीं read करेगा, यह इसको एक single record value जैसा हो� बाई डिफॉल्ट वन कर दूं तो वो क्या करेगा एक और लेवल अंदर जाएगा जहां भी इसको नेस्टेड वाला दिखेगा न वही एक लेवल जाएगा अगर समझे इसके अंदर भी एक और नेस्टेड होगा तो वो नहीं जाएगा ठीक है तो उसका मतलब कि एक ही नेस् यहाँ पे आप देखें कुछ data है यह भी key value pairs में है, यहाँ पे आपका value है state is equal to Florida, short name FL, info में हमारा nested key value pairs है, ठीक है, counties में आप देख सकते हैं यह listed, list के अंदर key value pairs है, ठीक है, तो अगर मैं max level भी बढ़ा दूं, तब भी वो और यह read नहीं कर पाएगा, क्योंकि this is in the form of list, यह क यहां भी आपका है list के format में, ठीक है, तो चलिए अब हम लोग यह data को read करना है, तो कैसे read करेंगे, तो यहां पे हम लिख देते हैं, pd.to, pd.json normalize, और यहां अगर मैं data डालू, तो यहां देखे, by default max value पुरा end तक जा रहा है, बट यह counties वाले जो data है, इसको फिर भी list के जिस पूरा का पूरा हमको data दिखना चाहिए, तो इसके लिए, मैं क्या करूँगा, pd.json normalize, अगर मैं यह shift टैप पकड़े, तो यहाँ पे हमारा बहुत सारे parameters है, कैसे parameters होंगे, देखे record path दिया हुआ है, आप यह specifically record path का understanding करेंगे, तो path in each object to list of records, लिस्ट आफ रिकॉर्ड जहां भी होगा, तो यहां हम first parameter डालेंगे, data का, ठीक है, data का, अब list of parameter का, वो specific key का नाम क्या है, जहाँ पे list of parameters आ रहा है, वो है counties, right, तो मैं ये counties copy करूँगा इदर से, और मैं इदर paste कर दूँगा, ये हो गया, बहुत ही simple तरीके से, ठीक है, अब एक और चीज है इसमें, अगर मैं इसको execute करता हूँ, तो देखे क्या आ रहा नेम और पॉपिलेशन ठीक है बट अभी हम लोगों इसमें ही सिर्फ फोकस नहीं करना है हमको पूरा का पूरा डाटा चाहिए हमको पूरा का पूरा डाटा अच्छी सर्विक्षित देखना चाहिए इसके अलावा भी इसके अलावा भी हमको दूसरा इंफॉर्मेशन भी चा फिल्ड्स टू यूज एज अमेटा डेटा फॉर इच रिकॉर्ड इन रिजल्टिंग टेबल ठीक है अब मैं यहां पर यह कर दूंगा कॉमा और मैटा के हिसाब से मैं क्या कर देता हूं यहां पर स्टेट का नाम डाल देता हूं लेट्स से कि मेरे को स्टेट का इनफॉर्मेशन भी लेना है ठीक है तो यहां पर मैं एक ब्राकेट बना देता हूं ठीक है बहुत सिंपल ब्राकेट और ठीक है मेरे को इसके अलावा मेरे को स्टेट भी चाहिए मेरे को शॉट नेम भी चाहिए तो मैं शॉट नेम भी लूंगा इधर से शॉट नेम भी मैं ले लेता हूं ठीक है शॉट नेम भी आ गया मेरे को अब मैं एग्जिक्यूट कर देता हूं तो देखे आप नेम पॉपि ठीक है तो यहां पर मैं स्पेसिफिकली बोला मैंको स्टेट और शॉर्टनेम चाहिए अब हमको और इनफॉर्मेशन ठीक है, info और governor का, तो इससे हम लोग क्या निकाल सकते हैं, क्या data, वो हम लोग चेक करेंगे, तो यहाँ पर मैं क्या करूँगा, एक और comma लगा दूँगा, और अगर मैं यहाँ पर info बोलूँ, ठीक है, तो यहाँ पर definitely देखे हमको यह data मिल रहा है, governor is equal to rickshaw, ठीक है, अब हमक कमा गवर्नर और अगर मैं एग्जिग्ट कर दो तो यह देखिए इन फॉर डॉट गॉवर्नर आपका रिक स्कॉट आ रहा है तो आप समझ रहेंगे इस कितना कॉंप्लेक्स डेटा था यह ऑफिसली जब मैं डायरेक्टली नॉर्मलाइज करने की कोशिश कर रहा था पूरा का पूरा बट अब मेरा मेन फोकस यह था कि मेरे को यह सारे डेटा मिल जाए उसके अलावा यह सारे डेटा भी में हमको मिल जाए ठीक है और यह वाला चीज हम लोग में किससे इस थ्रू किया किसके मदद से थ्रू किया एक है रिकॉर्ड पार्ट और एक है मेटा मेटा को आप एक लिस्ट ऑफ स्ट्रिंग्स के हिसाब से भी दे सकते हैं वह जो कॉलम का नाम होता है वह जो की का नाम रहता है आप इस तरीके से डिफाइन कर सकते उसके बाद हमारा focus यह था कि हमको state का information भी निकालना है तो state का information निकालने के लिए हम लोगने एक अलग list बनाया state, short name, since info के अंदर एक governor था, governor key था तो यहाँ पर आप देखते हैं info के अंदर एक governor key था, इसको भी हम लोगने एक separate list में डाला तो ऐसे जितने भी sub nested आता है उसको हिसाब से एक list बनाते जाएगे और उस हिसाब से आपको data मिलते जाएगा ठीक है? तो I hope आप लोगों को यह वीडियो समझ में आया, यह काफी important है guys आपको बहुत आधी जाना जाएगा कि जैसे जैसे