मुख्य सामग्री पर जाएँ

pandas में JSON और HTML डेटा कैसे आयात करें

एक दक्ष डेटा वैज्ञानिक बनने के लिए, आपको कई अलग-अलग प्रकार के डेटा से निपटना आना चाहिए। pandas का उपयोग करके JSON और HTML जैसे विभिन्न डेटा फ़ॉर्मैट्स पढ़ना सीखें।
· 13 मि॰ पढ़ें

AI के साथ खोजें

परिचय

किसी भी डेटा-संबंधित समस्या में डेटा आयात करना सबसे ज़रूरी और शुरुआती चरणों में से एक है। डेटा को सही तरीके से आयात करने की क्षमता हर उभरते डेटा वैज्ञानिक के लिए अनिवार्य कौशल है।

डेटा कई अलग-अलग रूपों में होता है, और आपको न केवल विभिन्न डेटा फ़ॉर्मैट आयात करना आना चाहिए बल्कि उपयोगी जानकारियाँ हासिल करने के लिए डेटा का विश्लेषण और हेरफेर करना भी आना चाहिए।

pandas एक ओपन सोर्स Python लाइब्रेरी है जो उपयोग में आसान, उच्च-प्रदर्शन वाली है, और विभिन्न डेटा फ़ॉर्मैट्स के लिए डेटा विश्लेषण का उपकरण प्रदान करती है।

यह आपको CSV, JSON, Excel, Pickle आदि जैसे विभिन्न डेटा फ़ॉर्मैट्स को पढ़ने की क्षमता देता है। यह आपके डेटा को पंक्ति और स्तंभों के सारणीबद्ध रूप में दर्शाने की सुविधा देता है, जिससे डेटा पढ़ने और प्रस्तुत करने योग्य हो जाता है।

pandas डेटा को DataFrame रूप में दर्शाता है और आपको डेटा विश्लेषण तथा डेटा हेरफेर के लिए व्यापक उपयोगिता प्रदान करता है। एक बार जब आप pandas की विभिन्न कार्यक्षमताओं का उपयोग करके डेटा समझना शुरू करते हैं, तब आप इस डेटा का विश्लेषण, पूर्वानुमान, वर्गीकरण और बहुत कुछ करने में उपयोग कर सकते हैं!

pandas में इनपुट और आउटपुट API है जिसमें टॉप-लेवल reader और writer फ़ंक्शंस का सेट होता है। रीडर फ़ंक्शन pandas.read_json() से एक्सेस किया जाता है जो एक pandas ऑब्जेक्ट लौटाता है, और राइटर फ़ंक्शन pandas.to_json() से एक्सेस होता है जो एक ऑब्जेक्ट मेथड है।

DataFrame में एक Reader और एक Writer फ़ंक्शन होता है। Reader फ़ंक्शन आपको अलग-अलग डेटा फ़ॉर्मैट्स को पढ़ने देता है, जबकि Writer फ़ंक्शन आपको डेटा को किसी विशिष्ट फ़ॉर्मैट में सहेजने में सक्षम बनाता है।

नीचे वे डेटा फ़ॉर्मैट दिए गए हैं जिन्हें DataFrame समर्थन करता है, यानी यदि आपका डेटा इनमें से किसी भी रूप में है, तो आप pandas का उपयोग करके उस डेटा फ़ॉर्मैट को लोड कर सकते हैं और किसी विशेष फ़ॉर्मैट में लिख भी सकते हैं।

आज के ट्यूटोरियल में, आप ऊपर दिए गए कुछ फ़ॉर्मैट प्रकारों जैसे JSON, HTML, और Pickle पर काम करेंगे।

नोट: pandas का उपयोग करके CSV फ़ाइलें कैसे पढ़ें, यह सीखने के लिए यह ट्यूटोरियल देखें।

JSON डेटा लोड करना

JSON, जिसे JavaScript Object Notation भी कहा जाता है, एक डेटा-इंटरचेंज टेक्स्ट-सीरियलाइज़ेशन फ़ॉर्मैट है। JSON पढ़ना और लिखना आसान है। यह JavaScript प्रोग्रामिंग भाषा के सब-सेट पर आधारित है, लेकिन Python और Python के बाहर कई अन्य भाषाओं की परंपराएँ उपयोग करता है।

JSON का उपयोग अधिकतर असंरचित डेटा संग्रहीत करने के लिए किया जाता है, और SQL डेटाबेस के लिए इसे सहेजना कठिन होता है। JSON डेटा को मशीनों के लिए पठनीय बनाता है।

JSON मुख्यतः दो संरचनाओं पर आधारित है:

  • कुंजी/मान (key/value) युग्मों का संग्रह। Python में, कुंजी/मान युग्म को Dictionary कहा जाता है, और key एक विशिष्ट विशेषता होती है, जबकि मान (values) अनन्य नहीं होते।

  • मानों की क्रमबद्ध सूची। क्रमबद्ध सूची कभी-कभी सूचियों की सूची भी हो सकती है। Python में सूचियाँ मानों का एक सेट होती हैं जो स्ट्रिंग, इंटीजर आदि हो सकते हैं।

तो अब देखते हैं कि आप JSON डेटा को कई तरीकों से कैसे लोड कर सकते हैं।

पहला JSON डेटासेट इस लिंक से है। डेटा key-value डिक्शनरी फ़ॉर्मैट में है। कुल तीन कुंजियाँ हैं: क्रमशः integer, datetime, और category।

  • सबसे पहले आप pandas लाइब्रेरी आयात करेंगे और फिर URL को pd.read_json() में पास करेंगे जो एक डेटाफ़्रेम लौटाएगा। डेटाफ़्रेम के कॉलम कुंजियों का प्रतिनिधित्व करते हैं, और पंक्तियाँ JSON के मान होते हैं।
import pandas as pd

json = pd.read_json('https://raw.githubusercontent.com/chrisalbon/simulated_datasets/master/data.json')

आइए .tail() फ़ंक्शन का उपयोग करके आपने जो JSON पढ़ा है, उसकी अंतिम कुछ पंक्तियाँ जल्दी से प्रिंट करें।

json.tail(6)
 integerdatetimecategory
9452015-01-01 00:01:340
9592015-01-01 00:01:350
9682015-01-01 00:01:360
9762015-01-01 00:01:370
9882015-01-01 00:01:380
9912015-01-01 00:01:390
json.shape
(100, 3)

ऊपर के आउटपुट से आप देख सकते हैं कि कुल तीन कॉलम हैं: integer, datetime, और category। साथ ही, डेटासेट में 100 सैंपल हैं जैसा कि .shape मेथड से सत्यापित होता है, जिसने 100 x 3 आउटपुट लौटाया।

  • JSON लिखना

JSON डेटा लिखना उतना ही सरल है जितना पढ़ना और यह एक पंक्ति का कोड है। read_json() की बजाय आप to_json() का उपयोग फ़ाइल नाम के साथ करेंगे और बस!

json.to_json('dataframe.json')
  • स्ट्रिंग के रूप में Nested JSON पार्स करना

अब आप JSON डेटासेट के एक और प्रकार का उपयोग करेंगे, जो इतना सरल नहीं है। यह एक nested JSON संरचना है। Nested JSON संरचना का मतलब है कि प्रत्येक key के साथ और भी keys जुड़ी हो सकती हैं।

इसे बेहतर समझने के लिए उदाहरण डेटासेट देखते हैं।

nested_json = """{
   "article": [

      {
         "id":"01",
         "language": "JSON",
         "edition": "first",
         "author": "Allen"
      },

      {
         "id":"02",
         "language": "Python",
         "edition": "second",
         "author": "Aditya Sharma"
      }
   ],

   "blog":[
   {
       "name": "Datacamp",
       "URL":"datacamp.com"
   }
   ]
}"""

ऊपर दिए गए डेटासेट में आप देख सकते हैं कि article और blog दो प्राथमिक कुंजियाँ हैं जिनके अंतर्गत इन कुंजियों के values हैं। इन मानों के अपने key-value युग्म संयोजन हैं।

ध्यान दें कि ऊपर का डेटासेट double-quotes में घिरा हुआ है और एक स्ट्रिंग के रूप में है।

Nested JSON को कई तरीकों से पढ़ा जा सकता है।

पहले, आप json.loads फ़ंक्शन का उपयोग करेंगे ताकि डेटा वेरिएबल को पैरामीटर के रूप में पास करके JSON स्ट्रिंग पढ़ी जा सके। फिर, आप json_normalize फ़ंक्शन का उपयोग करेंगे ताकि nested JSON डेटा को एक टेबल में समतल (flatten) किया जा सके।

आप pandas.io.json लाइब्रेरी से json_normalize फ़ंक्शन आयात करेंगे।

import json  
from pandas.io.json import json_normalize  

nested = json.loads(nested_json)
nested
{'article': [{'id': '01',
   'language': 'JSON',
   'edition': 'first',
   'author': 'Allen'},
  {'id': '02',
   'language': 'Python',
   'edition': 'second',
   'author': 'Aditya Sharma'}],
 'blog': [{'name': 'Datacamp', 'URL': 'datacamp.com'}]}

अगला, आप normalize फ़ंक्शन का उपयोग करके JSON को flatten करेंगे। फिलहाल आप पूरे डेटा को पास करेंगे और देखेंगे यह कैसा दिखता है।

nested_full = json_normalize(nested)
nested_full
 articleblog
0[{'id': '01', 'language': 'JSON', 'edition': '...[{'name': 'Datacamp', 'URL': 'datacamp.com'}]

बहुत बढ़िया! तो जैसा कि आप ऊपर के आउटपुट से देख सकते हैं, प्राथमिक कुंजियाँ डेटाफ़्रेम के कॉलम हैं जबकि कुंजियाँ पंक्ति का प्रतिनिधित्व करती हैं।

हालाँकि, आउटपुट थोड़ा अस्त-व्यस्त दिख रहा है, है न? देखते हैं कि आप इसे और कैसे कई डेटाफ़्रेम में विभाजित कर सकते हैं।

आप दोबारा json.loads के आउटपुट को json_normalize में पास करेंगे, लेकिन इस बार आप record_path नाम का एक अतिरिक्त तत्व निर्दिष्ट करेंगे।

blog = json_normalize(nested,record_path ='blog')
blog
 URLname
0datacamp.comDatacamp
article = json_normalize(nested,record_path ='article')
article
 authoreditionidlanguage
0Allenfirst01JSON
1Aditya Sharmasecond02Python

ऊपर के आउटपुट से आप देख सकते हैं कि प्राथमिक कुंजियाँ अब दो अलग-अलग डेटाफ़्रेम में विभाजित हो गई हैं जहाँ कॉलम नाम अब वे कुंजियाँ बन गए हैं जो प्राथमिक कुंजियों के अंदर key-value युग्म के रूप में nested थीं। कमाल है, है न?

अंत में, JSON डेटा लोडिंग को समेटते हुए, जल्दी से देखते हैं कि आप JSON को एक फ़ाइल के रूप में और न कि स्ट्रिंग के रूप में कैसे पढ़ सकते हैं।

  • फ़ाइल के रूप में JSON पढ़ना
nested_json = {
   "article": [

      {
         "id":"01",
         "language": "JSON",
         "edition": "first",
         "author": "Allen"
      },

      {
         "id":"02",
         "language": "Python",
         "edition": "second",
         "author": "Aditya Sharma"
      }
   ],

   "blog":[
   {
       "name": "Datacamp",
       "URL":"datacamp.com"
   }
   ]
}

यदि आप ऊपर की सेल में ध्यान दें, तो डेटा की शुरुआत और अंत में डबल-कोट्स नहीं हैं, जिसका अर्थ है कि आप इस डेटा को एक फ़ाइल की तरह मानेंगे और इसे पढ़ेंगे।

आप इसे केवल एक पंक्ति के कोड से हासिल कर सकते हैं। आइए देखें कैसे!

json_file = pd.DataFrame.from_dict(json_normalize(nested_json))
json_file
 articleblog
0[{'id': '01', 'language': 'JSON', 'edition': '...[{'name': 'Datacamp', 'URL': 'datacamp.com'}]

ऊपर के आउटपुट से आप देख सकते हैं कि आउटपुट वैसा ही है जैसा आपने JSON को स्ट्रिंग के रूप में पढ़ा था। यहाँ केवल इतना अंतर है कि आप JSON को पार्स और flatten करने के लिए pandas का उपयोग करते हैं। चूँकि JSON एक डिक्शनरी है, आप .from_dict() फ़ंक्शन का उपयोग करते हैं।

HTML डेटा लोड करना

HTML एक हाइपरटेक्स्ट मार्कअप लैंग्वेज है जिसका मुख्य रूप से वेब अनुप्रयोगों और पेजों को बनाने में उपयोग किया जाता है। यह वेब पेज की संरचना का अर्थपूर्ण ढंग से वर्णन करने की कोशिश करता है। वेब ब्राउज़र वेब सर्वर से HTML दस्तावेज़ प्राप्त करता है और उसे मल्टीमीडिया वेब पेज के रूप में रेंडर करता है।

वेब अनुप्रयोगों के लिए, सर्वर साइड पर HTML का उपयोग cascading style sheets (CSS) के साथ किया जाता है और यह Flask, Django आदि जैसे विभिन्न वेब सर्वर फ़्रेमवर्क्स के साथ मिलकर काम करता है।

HTML tags का उपयोग कोड के प्रत्येक ब्लॉक को परिभाषित करने के लिए करता है, जैसे पैराग्राफ की शुरुआत और अंत के लिए <p></p> टैग, वेब पेज में छवि के रूप में सामग्री जोड़ने के लिए <image></image> टैग, और इसी तरह कई टैग मिलकर एक HTML वेब पेज बनाते हैं।

एक HTML फ़ाइल पढ़ने के लिए, pandas डेटाफ़्रेम एक tag ढूँढता है। उस टैग को <td></td> टैग कहा जाता है। यह टैग HTML में तालिका (table) परिभाषित करने के लिए उपयोग होता है।

pandas HTML दस्तावेज़ पढ़ने के लिए read_html() का उपयोग करता है।

तो, जब भी आप pandas को HTML पास करें और एक अच्छा-सा डेटाफ़्रेम आउटपुट की उम्मीद करें, सुनिश्चित करें कि HTML पेज में एक तालिका मौजूद हो!

  • डेटा के बारे में: आप एक Cryptocurrency वेबसाइट को HTML डेटासेट के रूप में उपयोग करेंगे जिसमें विभिन्न क्रिप्टो कॉइंस हैं और प्रत्येक कॉइन के बारे में कई विवरण हैं, जैसे:
    • कॉइन का अंतिम मूल्य (Last price)
    • कॉइन का मूल्य बढ़ा है या घटा है (प्रतिशत में %)
    • 24 घंटे का वॉल्यूम (कितने कॉइन ट्रेड हुए 24 volume)
    • कुल कॉइंस की संख्या (# Coins)

तो, चलिए शुरू करते हैं!

आप पहले requests लाइब्रेरी आयात करेंगे जो आपको उस URL पर अनुरोध भेजने में मदद करेगी जहाँ से आप HTML सामग्री प्राप्त करना चाहते हैं।

import requests
url = 'https://www.worldcoinindex.com/'
crypto_url = requests.get(url)
crypto_url
<Response [200]>

अब तक, आपने URL परिभाषित किया और फिर requests.get() का उपयोग करके उस URL पर अनुरोध भेजा और acknowledgement [200] OK के रूप में प्रतिक्रिया प्राप्त की, जिसका अर्थ है कि आप उस web server से कनेक्ट करने में सक्षम थे।

अब, HTML वेब पेज की सामग्री पढ़ने के लिए, आपको बस crypto_url.text कॉल करना है जो आपको उस cryptocurrency वेब पेज का HTML कोड देगा।

आउटपुट देखने के लिए crypto_url.text कमांड चलाने में संकोच न करें।

अंततः, आप crypto_url.text को pd.read_html() फ़ंक्शन में पास करेंगे जो आपको डेटाफ़्रेम्स की सूची लौटाएगा, जहाँ उस सूची का प्रत्येक तत्व उस cryptocurrency वेबपेज में मौजूद एक तालिका (डेटाफ़्रेम) होगा।

crypto_data = pd.read_html(crypto_url.text)

आइए डेटाफ़्रेम की length और type प्रिंट करें। type एक list होना चाहिए।

len(crypto_data), type(crypto_data)
(1, list)

ऊपर के आउटपुट से स्पष्ट है कि केवल 1 तालिका है और उसका प्रकार list है।

crypto_data = crypto_data[0]

आइए पहली और दूसरी कॉलम हटा दें क्योंकि उनमें कोई उपयोगी जानकारी नहीं है और सभी पंक्तियाँ रखी जाएँ।

crypto_final = crypto_data.iloc[:,2:]

आखिरकार, cryptocurrency डेटाफ़्रेम प्रिंट करने का समय आ गया है!

crypto_final.head()
 NameTickerLast price%24 high24 lowPrice Charts 7d24 volume# CoinsMarket cap
0bitcoinBTC$ 8,008.027+1.83%$ 8,056.630$ 7,812.784NaN$ 12.04B17.71M$ 141.89B
1ethereumETH$ 251.72335+2.68%$ 253.84721$ 242.95687NaN$ 6.93B106.20M$ 26.73B
2litecoinLTC$ 98.633851+11.08%$ 99.946324$ 88.618815NaN$ 3.46B61.91M$ 6.10B
3bitcoincashBCH$ 411.94075+2.31%$ 418.60850$ 394.18927NaN$ 2.10B17.79M$ 7.33B
4eosEOS$ 6.4230717+6.05%$ 6.4765695$ 6.0264079NaN$ 2.06B1.01B$ 6.50B

ऊपर दी गई तालिका से आप देख सकते हैं कि Bitcoin का Market Cap सबसे अधिक है।

NaN (Not a Number) हटाना

डेटाफ़्रेम में कुछ मान वास्तविक नहीं हैं, तो आइए उन्हें तालिका से जल्दी हटा दें।

हालाँकि, पहले Price Charts 7d कॉलम को पूरी तरह हटा दें क्योंकि यह पूरी तरह NaN है और इसमें शून्य जानकारी है।

del crypto_final['Price Charts 7d']
crypto_final.head()
 NameTickerLast price%24 high24 low24 volume# CoinsMarket cap
0bitcoinBTC$ 8,008.027+1.83%$ 8,056.630$ 7,812.784$ 12.04B17.71M$ 141.89B
1ethereumETH$ 251.72335+2.68%$ 253.84721$ 242.95687$ 6.93B106.20M$ 26.73B
2litecoinLTC$ 98.633851+11.08%$ 99.946324$ 88.618815$ 3.46B61.91M$ 6.10B
3bitcoincashBCH$ 411.94075+2.31%$ 418.60850$ 394.18927$ 2.10B17.79M$ 7.33B
4eosEOS$ 6.4230717+6.05%$ 6.4765695$ 6.0264079$ 2.06B1.01B$ 6.50B

अब NaN's हटाते हैं।

crypto_final = crypto_final.dropna()

क्रिप्टो कॉइंस (Ticker) बनाम मूल्य में प्रतिशत वृद्धि/कमी (%) का विज़ुअलाइज़ेशन

ग्राफ़ प्लॉट करने के लिए पहले matplotlib आयात करें।

import matplotlib.pyplot as plt
%matplotlib inline

% कॉलम का प्रकार string है, और आपको string प्रकार को float में परिवर्तित करना होगा। पहले आप कॉलम से % का चिन्ह हटाएँगे और फिर % कॉलम के प्रकार को float में बदलेंगे।

crypto_final['%'] = crypto_final['%'].apply(lambda x: x.strip('%'))
crypto_final['%'] = crypto_final['%'].astype('float')

अब डेटा प्लॉट करते हैं।

plt.figure()
plt.figure(figsize=(16,10))
x = crypto_final.iloc[:20]['Ticker']
y = crypto_final.iloc[:20]['%']
plt.xticks(fontsize=12)
plt.yticks(fontsize=14)
plt.xlabel('Percentage Increase/Decrease in Price',fontsize=20)
plt.ylabel('Ticker',fontsize=20)

plt.plot(x,y,label='% Increase/Decrease in Price')
plt.legend(loc='lower left',prop={'size': 15})
<matplotlib.legend.Legend at 0x1298a9630>

<Figure size 432x288 with 0 Axes>

ऊपर दिए गए ग्राफ़ से आप देख सकते हैं कि Litecoin (LTC) और Huobitoken (HT) में मूल्य में अधिकतम वृद्धि हुई है और दूसरी ओर, Maticnetwork (MATIC) और Waves में क्रिप्टो कॉइंस के मूल्य में अधिकतम कमी आई है।

Pickle डेटा लोड करना

Pickle एक Python-विशिष्ट बाइनरी सीरियलाइज़ेशन फ़ॉर्मैट है जो JSON के विपरीत मानव-पठनीय नहीं है। इसका उपयोग Python की ऑब्जेक्ट संरचना को सीरियलाइज़ और डी-सीरियलाइज़ करने के लिए किया जाता है। यह ऑब्जेक्ट को सीरियलाइज़ करता है और उसे डिस्क पर सहेजने के लिए Pickle करता है। यह DataFrame, list, dictionary आदि जैसे ऑब्जेक्ट को एक कैरेक्टर स्ट्रीम में बदल देता है।

Pickle की सबसे अच्छी बात यह है कि यह Python के विभिन्न प्रकार के डेटा प्रकारों को संग्रहीत कर सकता है।

Pickle का व्यापक उपयोग प्रशिक्षित मशीन लर्निंग एल्गोरिदम इंस्टैंसेज़ को संग्रहीत करने के लिए होता है। JSON की तरह, Pickle में भी pickle.load() जैसे सुविधाजनक फ़ंक्शंस होते हैं जो Pickle फ़ॉर्मैट फ़ाइल लोड करने के लिए हैं, और pickle.dump() जो Pickle या किसी अन्य फ़ॉर्मैट को Pickle फ़ॉर्मैट में सहेजने के लिए है।

Pickle का एक और महत्वपूर्ण लाभ यह है कि डेटाफ़्रेम को Pickle फ़ाइल के रूप में सहेजना डिस्क पर कम स्थान लेता है और रीलोड करने पर डेटा के type को यथावत रखता है।

तो, आइए जल्दी से आपने पहले जो cryptocurrency डेटाफ़्रेम बनाया था उसे pickle करें, और फिर आप उस pickled ऑब्जेक्ट को pandas का उपयोग करके पढ़ेंगे।

import pickle

आप pickle.dump का उपयोग डेटाफ़्रेम को Pickle ऑब्जेक्ट के रूप में सहेजने के लिए करेंगे और protocol को HIGHEST_PROTOCOL रखेंगे, जो Python 2 के साथ भी बैकवर्ड संगत है।

with open('crypto_final.pickle', 'wb') as sub_data:
    pickle.dump(crypto_final, sub_data, protocol=pickle.HIGHEST_PROTOCOL)

अंत में, आप pandas के read_pickle फ़ंक्शन का उपयोग करके pickle ऑब्जेक्ट को एक डेटाफ़्रेम में बदलेंगे।

crypto_final = pd.read_pickle('crypto_final.pickle')
crypto_final.head()
 NameTickerLast price%24 high24 low24 volume# CoinsMarket cap
0bitcoinBTC$ 7,776.567+1.81%$ 7,870.205$ 7,506.518$ 12.70B17.71M$ 137.78B
1ethereumETH$ 241.81372-0.97%$ 245.57293$ 232.62523$ 7.47B106.18M$ 25.67B
2litecoinLTC$ 88.062811+0.33%$ 88.946501$ 85.248641$ 2.59B61.90M$ 5.45B
3bitcoincashBCH$ 388.76089+0.06%$ 398.27697$ 370.29831$ 2.33B17.79M$ 6.91B
4eosEOS$ 5.9327948-0.41%$ 6.0163442$ 5.7789154$ 1.99B1.01B$ 6.00B

वाह! क्या यह अद्भुत नहीं है? यह कितना सरल था। और, Pickle के साथ, आपको डेटा टाइप कन्वर्ज़न एरर्स की चिंता नहीं करनी पड़ती क्योंकि pickle सीरियलाइज़ेशन इसे आपके लिए संभाल सकता है!

और आगे बढ़ें

ट्यूटोरियल पूरा करने पर बधाई।

यह ट्यूटोरियल एक अच्छा शुरुआती बिंदु था कि आप pandas की मदद से Python में अलग-अलग डेटा फ़ॉर्मैट्स कैसे लोड कर सकते हैं।

अब भी कई डेटा फ़ॉर्मैट्स हैं जैसे Excel, SQL, HDF5 आदि, जो pandas डेटा आयात के दायरे में आते हैं। आपको इन डेटा फ़ॉर्मैट्स में कुछ रोचक सार्वजनिक डेटासेट ढूँढकर उनके साथ प्रयोग करके हाथ गंदे करने चाहिए।

यदि आप pandas में DataFrames के बारे में और सीखना चाहते हैं, तो DataCamp का data manipulation with pandas इंटरैक्टिव कोर्स लें। DataCamp में कई अन्य उपयोगी pandas ट्यूटोरियल भी हैं जो dataframes को जोड़ना, moving averages लागू करना और apply मेथड का उपयोग कवर करते हैं। या, यदि आप pandas में बिल्कुल नए हैं, तो इस शुरुआती गाइड वाले pandas ट्यूटोरियल से शुरू करें। 

संदर्भ:

कृपया नीचे टिप्पणियों में इस ट्यूटोरियल से संबंधित कोई भी प्रश्न बेझिझक पूछें।

विषय