2016-01-29 7 views
5

मुझे नहीं पता कि यह संभव है, और यह संभवतः एक बेवकूफ सवाल है, लेकिन मैं आरऔर colnames() के समतुल्य को scipy.sparse.csr.csr_matrix पर कैसे सेट कर सकता हूं?मैं Scipy's csr_matrix में पंक्ति और कॉलम नाम कैसे दे सकता हूं?

मैंने देखा कि my_matrix.dtype.names यहाँ काम नहीं करता, और मैं किसी भी "अनुक्रमणिका" ऐसे विरल मैट्रिक्स के लिए equivalend ...

इसके अलावा नहीं मिल रहा है, pandas.sparse.* एक विकल्प नहीं है यहाँ, कुछ खुले समस्या के कारण है ...

आप, आपकी मदद के लिए बहुत बहुत शुक्रिया

+0

'dtype.names' संरचित सरणी के 'फ़ील्ड' का संदर्भ लें। एक CSV तालिका में कॉलम नाम/शीर्षलेख के बारे में सोचें। आप खेतों में ज्यादा गणित नहीं कर सकते हैं। और आप स्पैर मैट्रिस में उस तरह के प्रकार का उपयोग नहीं कर सकते हैं। – hpaulj

उत्तर

3

आप अलग से नाम बनाए रखने के लिए समर्थन के रूप में scipy का विरल स्वरूपों में से कोई भी अनुक्रमण नामित करना होगा। ऐसा लगता है:

foo = csr_matrix(...) 
row_names = np.array(...) 
col_names = np.array(...) 

# index by name: 
row_idx, = np.where(row_names == "my row") 
col_idx, = np.where(col_names == "my col") 
foo[row_idx, col_idx] 
+0

मुझे आश्चर्य है कि एक शब्दकोश देखो तेज होगा? स्पैस 'डॉक' प्रारूप वास्तव में एक शब्दकोश है, जिसमें इंडेक्स टुपल्स कुंजी के रूप में होते हैं। – hpaulj

+0

क्षमता मैट्रिक्स के आकार और दुर्लभता पर निर्भर करती है, लेकिन हाँ, नाम-> अनुक्रमणिका का शब्दकोश भी काम करेगा। डीओके प्रारूप मदद नहीं करता है, हालांकि, क्योंकि इसकी चाबियाँ पूर्णांक के जोड़े होने चाहिए। – perimosocordiae

+0

लेकिन वह लेबल के रूप में लेबल के tuples के साथ अपना खुद का शब्दकोश बना सकता है। यह उसे गणित क्षमताओं नहीं देगा। – hpaulj

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

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