[Numpy-discussion] "ValueError: total size of new array must be unchanged" only on Windows

josef.pktd@gmai... josef.pktd@gmai...
Sun Feb 5 12:06:16 CST 2012


On Sun, Feb 5, 2012 at 12:52 PM, Paolo <p.zaffino@yahoo.it> wrote:

>  How I can do this?
>
>

I'm not sure without trying, numpy.loadtxt might be the easier choice

matrix="".join((i.strip() for i in f.readlines()))

I think strip() also removes newlines besides other whitespace
otherwise more explicitly
matrix="".join((i.strip(f.newlines) for i in f.readlines()))

or open the file with mode 'rU'  and strip('\n')

Josef




>
>
>
> Il 05/02/2012 18:47, josef.pktd@gmail.com ha scritto:
>
>
>
> On Sun, Feb 5, 2012 at 12:39 PM, Paolo <p.zaffino@yahoo.it> wrote:
>
>>  This is my code:
>>
>> matrix="".join(f.readlines())
>>
>
> my guess would be, that you have to strip the line endings \n versus \r\n
>
> Josef
>
>
>>  matrix=np.fromstring(matrix, dtype=np.int16)
>> matrix=matrix.reshape(siz[2],siz[1],siz[0]).T
>>
>>
>>
>>
>> Il 05/02/2012 17:21, Olivier Delalleau ha scritto:
>>
>> It means there is some of your code that is not entirely
>> platform-independent. It's not possible to tell you which part because you
>> didn't provide your code. The problem may not even be numpy-related.
>> So you should first look at the current shape of 'matrix', and what are
>> the values of a, b and c, then see where the discrepancy is, and work from
>> there.
>>
>> -=- Olivier
>>
>> Le 5 février 2012 11:16, Paolo Zaffino <p.zaffino@yahoo.it> a écrit :
>>
>>>   Yes, I understand this but I don't know because on Linux and Mac it
>>> works well.
>>> If the matrix size is different it should be different indipendently
>>> from os type.
>>> Am I wrong?
>>> Thanks for your support!
>>>
>>>  ------------------------------
>>> * From: * Olivier Delalleau <shish@keba.be>;
>>> * To: * Discussion of Numerical Python <numpy-discussion@scipy.org>;
>>> * Subject: * Re: [Numpy-discussion] "ValueError: total size of new
>>> array must be unchanged" only on Windows
>>> * Sent: * Sun, Feb 5, 2012 3:02:44 PM
>>>
>>>   It should mean that matrix.size != a * b * c.
>>>
>>> -=- Olivier
>>>
>>> Le 5 février 2012 09:32, Paolo <p.zaffino@yahoo.it> a écrit :
>>>
>>>> Hello,
>>>> I wrote a function that works on a numpy matrix and it works fine on Mac
>>>> OS and GNU/Linux (I didn't test it on python 3).
>>>> Now I have a problem with numpy: the same python file doesn't work on
>>>> Windows (Windows xp, python 2.7 and numpy 2.6.1).
>>>> I get this error:
>>>>
>>>> matrix=matrix.reshape(a, b, c)
>>>> ValueError: total size of new array must be unchanged
>>>>
>>>> Why? Do anyone have an idea about this?
>>>> Thank you very much.
>>>> _______________________________________________
>>>> NumPy-Discussion mailing list
>>>> NumPy-Discussion@scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
>
> _______________________________________________
> NumPy-Discussion mailing listNumPy-Discussion@scipy.orghttp://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20120205/21fadb02/attachment.html 


More information about the NumPy-Discussion mailing list