2014-11-05 21 views
5

मैं थोड़ी देर के लिए कोशिश की है wrk को यह प्राप्त करने के लिए और मैं नहीं कर सकता विफल - मैं प्रलेखन पढ़ा है और मैं कुछअजगर पांडा धुरी - क्यों

गलतफहमी किया जाना चाहिए मैं लंबे समय प्रारूप और मैं में एक डाटा फ्रेम है इसे व्यापक बनाना चाहते हैं - यह काफी आम है। लेकिन मैं कोई त्रुटि मिलती है

from pandas import DataFrame 
data = DataFrame({'value' : [1,2,3,4,5,6,7,8,9,10,11,12], 
        'group' : ['a','a','a','b','b','b','b','c','c','c','d','d']}) 
data.pivot(columns='group') 

त्रुटि मैं मिलता है (लाट्स हिस्सा है, वे काफी व्यापक हैं के रूप में): ValueError: कर सकते हैं एक अशक्त कुंजी

मैं अजगर में इस की कोशिश की (नोटबुक) के साथ नहीं लेबल सूचकांक और यह भी एक ही परिणाम के साथ ओएस एक्स में नियमित रूप से अजगर सी कमांड लाइन

किसी भी जानकारी के लिए धन्यवाद पर, मुझे यकीन है कि यह कुछ बुनियादी

+1

क्या आपको यकीन है कि आपको पिवट की आवश्यकता है? 'डेटा' के बारे में क्या? – Anzel

उत्तर

8

हो जाएगा कि आप क्या करने की कोशिश कर रहे थे, तो आप पारित करने के लिए 'कोशिश कर रहे थे से कर रहा हूँ समूह 'index के रूप में तो पिवट विफल रहता है। यह होना चाहिए:

data.pivot(data.index, 'group') 

या,

# the format is pivot(index=None, columns=None, values=None) 
data.pivot(index=data.index, columns='group') 

हालांकि मैं पूरी तरह यकीन है कि क्या आप चाहते हैं उत्पादन की उम्मीद है, अगर आप सिर्फ छोटे प्रस्तुति चाहते हैं, तो आप हमेशा transpose उपयोग कर सकते हैं नहीं कर रहा हूँ:

data.T 

या, आपके मामले में प्रस्तुति के लिए सबसे अच्छा है, groupby:

data.groupby('group').sum() 
     value 
group  
a   6 
b   22 
c   27 
d   23 
+0

धन्यवाद। यह काम। मैं सभी मूल्यों के लिए एक कॉलम रखने की कोशिश कर रहा था, सभी बी के लिए एक, आदि। और मुझे एहसास हुआ कि चूंकि वे उतने लंबे समय तक नहीं हैं, इसलिए मुझे वास्तविक जीवन में एनएएस मिलेंगे, मैं इसे बराबर सेट के लिए उपयोग करूंगा – user1617979

संबंधित मुद्दे