[SciPy-user] Creating a sparse matrix
Thu Dec 13 08:27:41 CST 2007
On Thu, 13 Dec 2007 14:27:05 +0100
Robert Cimrman <email@example.com> wrote:
> Nils Wagner wrote:
>> On Thu, 13 Dec 2007 14:03:14 +0100
>> Robert Cimrman <firstname.lastname@example.org> wrote:
>>> Nils Wagner wrote:
>>>> Hi all,
>>>> How can I build a sparse matrix from the following array
>>>> array([['1', '1', '1.7244067583090530E+05'],
>>>> ['1', '2', '4.7526228631699840E+04'],
>>>> ['18', '24', '-1.0245630931609220E+03'],
>>>> ['24', '24', '4.2234547103090340E+03']],
>>>> data contains information about row, column and the
>>>> corresponding entry.
>>>> Any pointer would be appreciated.
>>> You read the data from a file, right?
>> You should convert
>>> the row/column
>>> indices to integers and values to floats during the
>> How can I do that on-the-fly ?
> Well, supposing the file is not too large:
> fd = open( ... )
> rows, cols, vals = , , 
> while 1:
> line = fd.readline()
> if (len( line ) == 0): break
> if len( line ) == 1: continue
> except EOFError:
> line = line.split()
> ir, ic, val = int( line ), int( line ),
>float( line )
> rows.append( ir )
> cols.append( ic )
> vals.append( val )
> Alternatively, you can try to use numpy.fromfile( ...,
>sep = ' ', dtype
> = numpy.float64 ) and then reshape it to (n, 3) and
>re-type the first
> two columns to ints.
> SciPy-user mailing list
Thank you very much for your code snippet !
How do I use the COO constructor to build the
matrix from rows, cols and vals ?
More information about the SciPy-user