में मैं निम्नलिखित कोड,पांडा KeyError: मूल्य नहीं सूचकांक
df = pd.read_csv(CsvFileName)
p = df.pivot_table(index=['Hour'], columns='DOW', values='Changes', aggfunc=np.mean).round(0)
p.fillna(0, inplace=True)
p[["1Sun", "2Mon", "3Tue", "4Wed", "5Thu", "6Fri", "7Sat"]] = p[["1Sun", "2Mon", "3Tue", "4Wed", "5Thu", "6Fri", "7Sat"]].astype(int)
यह हमेशा जब तक csv फ़ाइल (सभी सप्ताह के दिनों के) पर्याप्त कवरेज नहीं है काम कर रहा है है। जैसे, निम्नलिखित .csv फ़ाइल में, के लिए
DOW,Hour,Changes
4Wed,01,237
3Tue,07,2533
1Sun,01,240
3Tue,12,4407
1Sun,09,2204
1Sun,01,240
1Sun,01,241
1Sun,01,241
3Tue,11,662
4Wed,01,4
2Mon,18,4737
1Sun,15,240
2Mon,02,4
6Fri,01,1
1Sun,01,240
2Mon,19,2300
2Mon,19,2532
मैं हूँ निम्न त्रुटि मिलती है:
KeyError: "['5Thu' '7Sat'] not in index"
यह एक बहुत ही आसान ठीक है लगता है, लेकिन मैं अभी भी अजगर करने के लिए नया हूँ यह जानने के लिए कि इसे कैसे ठीक किया जाए। कृपया मदद करे। धन्यवाद।
बस 'p = p.astype (int)' अपर्याप्त है? यह कहना मुश्किल है कि आप इस तरह के कॉलम क्यों अनुक्रमणित कर रहे हैं, दो सूचियां समान दिखती हैं और आपके इनपुट डेटा से ऐसा नहीं लगता है कि आप * कॉलम को इस तरह से बाहर कर रहे हैं। – jedwards
भले ही आप कॉलम को सब्सक्राइब करते हैं (यानी '[' 5Thu '' 7Sat ']') को छोड़ दें, फिर भी आप 'np.nan' को 'int' में डालने में त्रुटियों में भाग लेंगे। आप इस समस्या को स्कर्ट करने के लिए एक अलग भरने के मूल्य (अनुपलब्ध प्रविष्टियों के लिए) का उपयोग कर सकते हैं। – Alex
आखिरकार मुझे इंडेक्स में सभी सप्ताह के दिनों की आवश्यकता होगी (उदाहरण के लिए, '5Thu' '7Sat'), क्योंकि मैं उन्हें अगली प्लॉट करूंगा। तो मैं औसत को प्रभावित किए बिना, उन सभी को जोड़ने के तरीकों की तलाश में हूं। – xpt