मैं एक एसक्यूएल तालिका है जो मैं एक पांडा डेटा फ्रेम, निम्नलिखित संरचना है कि के रूप में में पढ़ सकते हैं:एक लंबी तालिका से स्पार्सडेटाफ्रेम को कुशलतापूर्वक कैसे बनाएं?
user_id value
1 100
1 200
2 100
4 200
यह एक मैट्रिक्स का प्रतिनिधित्व है, जिसके लिए सभी मूल्यों 1 हैं या 0. घने इस मैट्रिक्स के प्रतिनिधित्व इस प्रकार दिखाई देगा:
100 200
1 1 1
2 1 0
4 0 1
आम तौर पर, इस रूपांतरण आप धुरी का उपयोग कर सकते करने के लिए है, लेकिन पहले तालिका में दसियों या पंक्तियों के लाखों लोगों के सैकड़ों के साथ मेरे मामले में एक एक बड़ा घने मैट्रिक्स पूर्ण हो जाता है शून्य के लिए खींचने के लिए महंगा है। आप इसे स्पैस में परिवर्तित कर सकते हैं, लेकिन इसे प्राप्त करने के लिए बहुत सारे संसाधनों की आवश्यकता है।
अभी मैं प्रत्येक उपयोगकर्ता_आईडी, सॉर्टिंग के लिए पंक्ति संख्या असाइन करने के लिए एक समाधान पर काम कर रहा हूं, और फिर स्पैससेटाफ्रेम में पुन: संयोजन करने से पहले 'मान' कॉलम को स्पैर्ससेरीज़ में विभाजित कर रहा हूं। क्या कोई बेहतर तरीका है?
मैंने SO पर स्पैरसेरीज़ की अधिक चर्चा नहीं देखी है। मैंने उस और 'scipy' 'sparse' matrices के बीच आगे और आगे स्थानांतरित करने के कुछ प्रश्नों का उत्तर दिया है। मेरी धारणा यह है कि पांडों की 'स्पैस' संरचना अभी भी विकास में है। – hpaulj
मुझे आपके उत्तर जैसे कुछ मिल गए हैं http://stackoverflow.com/questions/34181494/populate-a-pandas-sparsedataframe-from-a-scipy-sparse-coo-matrix समस्या यह है पैमाने पर प्रतीत नहीं होता है। अभी मैं एक सीएससी मैट्रिक्स को बदलने की कोशिश कर रहा हूं जो कि 40,000 x 15,000 है और यह 30 मिनट से अधिक समय तक चल रहा है। –