तो एक csr_matrix
है, तो आप .toarray()
(वहाँ भी है .todense()
कि एक numpy
matrix
है, जो भी है DataFrame
लिए काम करता है पैदा करता है का उपयोग कर सकते निर्माता):
df = pd.DataFrame(A.toarray())
आप सी उसके बाद pd.concat()
के साथ इसका उपयोग करें।
A = csr_matrix([[1, 0, 2], [0, 3, 0]])
(0, 0) 1
(0, 2) 2
(1, 1) 3
<class 'scipy.sparse.csr.csr_matrix'>
pd.DataFrame(A.todense())
0 1 2
0 1 0 2
1 0 3 0
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 3 columns):
0 2 non-null int64
1 2 non-null int64
2 2 non-null int64
संस्करण 0.20 में, pandas
शुरू की sparse data structures, SparseDataFrame
भी शामिल है।
वैकल्पिक रूप से, pandas
पर कनवर्ट करते समय स्मृति से बाहर निकलने से बचने के लिए आप sklearn
पर स्पैस मैट्रिस पास कर सकते हैं। array
scipy.sparse.csr_matrix
कन्स्ट्रक्टर को पास करके scipy.sparse.hstack
को जोड़ने के लिए अपने अन्य डेटा को स्पैर प्रारूप में रूपांतरित करें (docs देखें)।
यदि मेरा एटोरे() मेमोरी एरर की ओर जाता है तो मैं क्या कर सकता हूं? क्या डेटाफ्रेम को इसे एक अंडारे में परिवर्तित किए बिना बनाने का कोई तरीका है? – user77005
आप पांडा [स्पैस डेटा स्ट्रक्चर] पर एक नज़र डालना चाहते हैं (https://pandas.pydata.org/pandas-docs/stable/sparse.html) – Stefan