मैं एक अगली ताना के साथ प्रारंभ किए गए डेटाफ़्रेम की पंक्ति अनुक्रमणिका निर्दिष्ट करने का प्रयास करता हूं।

pop={'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
pandas.DataFrame(pop, index=[2000,2001,2002])

AttributeError: 'list' object has no attribute 'astype'

हालांकि, अगर मैं कॉलम भी निर्दिष्ट करता हूं, तो यह काम करेगा।

मैं सोच रहा हूं कि क्या यह पंडों में सिर्फ एक बग है। क्योंकि मुझे यकीन है कि यह निश्चित रूप से पायथन 3.5 और मेरे पुराने संस्करण पांडा (पहले के संस्करण को सुनिश्चित नहीं) पर काम करता है। मैं पायथन 3.6.5, पांडा 0.23.3 चला रहा हूं।

यह उदाहरण वास्तव में वेस मैककिनी की पुस्तक "पायथन फॉर डेटा एनालिसिस" (द्वितीय संस्करण) से है।

0
David B. Wang 3 अगस्त 2018, 23:38
1
मैं इस समस्या को पुन: उत्पन्न नहीं कर सकता
 – 
sacuL
3 अगस्त 2018, 23:40
मैंने पायथन 3.5.5 के साथ समस्या का पुनरुत्पादन किया।
 – 
David Gaertner
4 अगस्त 2018, 00:02

2 जवाब

मैंने इस समस्या को पायथन 3.7.1 में पांडा 0.23.4 के साथ पुन: पेश किया।

इस कोड खंड का उद्देश्य यह स्पष्ट करने के लिए प्रयोग किया जाता है कि सूचकांक के क्रम को कृत्रिम रूप से सौंपा जा सकता है।

pd.DataFrame(pop, index = pd.Series([2001, 2000, 2002]))

कार्य करना चाहिए।

2
8cold8hot 9 जिंदा 2019, 09:37

आपको अनुक्रमणिका निर्दिष्ट करने की आवश्यकता नहीं है क्योंकि pandas 0.23.0 को पता चल जाएगा कि आंतरिक कुंजियाँ अनुक्रमणिका हैं

pop={'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
df = pd.DataFrame(pop)

Nevada  Ohio
2000    NaN 1.5
2001    2.4 1.7
2002    2.9 3.6
0
rafaelc 4 अगस्त 2018, 16:21
मुद्दा यह है कि, मुझे सूचकांकों के सबसेट को निर्दिष्ट करने या चुनने में सक्षम होना चाहिए।
 – 
David B. Wang
4 अगस्त 2018, 22:55