पंडों में कुंजी त्रुटि को कैसे ठीक करें (उदाहरण के साथ)
पांडा का उपयोग करते समय आपको एक त्रुटि का सामना करना पड़ सकता है:
KeyError : 'column_name'
यह त्रुटि तब होती है जब आप पांडा डेटाफ़्रेम के उस कॉलम तक पहुंचने का प्रयास करते हैं जो मौजूद नहीं है।
आमतौर पर, यह त्रुटि तब होती है जब आप किसी कॉलम नाम की वर्तनी गलत लिखते हैं या कॉलम नाम के पहले या बाद में कोई आकस्मिक स्थान शामिल कर देते हैं।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे ठीक किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए कि हम निम्नलिखित पांडा डेटाफ़्रेम बनाते हैं:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
इसके बाद, मान लीजिए कि हम “बिंदु” नामक कॉलम में मानों को मुद्रित करने का प्रयास करते हैं:
#attempt to print values in 'point' column print (df[' point ']) KeyError Traceback (most recent call last) /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3360 try: -> 3361 return self._engine.get_loc(casted_key) 3362 except KeyError as err: /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc() /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError : 'dot'
चूँकि हमारे डेटाफ़्रेम में कोई “डॉट” कॉलम नहीं है, हमें एक KeyError प्राप्त होता है।
त्रुटि को कैसे ठीक करें
इस त्रुटि को ठीक करने का तरीका बस यह सुनिश्चित करना है कि हमने कॉलम नाम की वर्तनी सही ढंग से लिखी है।
यदि हम डेटाफ़्रेम में सभी कॉलम नामों के बारे में अनिश्चित हैं, तो हम प्रत्येक कॉलम नाम को प्रिंट करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
#display all column names of DataFrame print ( df.columns.tolist () ) ['points', 'assists', 'rebounds']
हम देख सकते हैं कि “पॉइंट्स” नामक एक कॉलम है, इसलिए हम कॉलम नाम की सही वर्तनी करके अपनी त्रुटि को ठीक कर सकते हैं:
#print values in 'points' column print (df[' points ']) 0 25 1 12 2 15 3 14 4 19 5 23 6 25 7 29 Name: points, dtype: int64
हम त्रुटि से बचते हैं क्योंकि हमने कॉलम का नाम सही लिखा है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:
कैसे ठीक करें: कॉलम ओवरलैप होते हैं लेकिन कोई प्रत्यय निर्दिष्ट नहीं किया जाता है
कैसे ठीक करें: ऑब्जेक्ट ‘numpy.ndarray’ में ‘append’ विशेषता नहीं है
कैसे ठीक करें: यदि आप सभी अदिश मानों का उपयोग करते हैं, तो आपको एक सूचकांक पारित करने की आवश्यकता है