[NumPy-Tickets] [NumPy] #1990: Data can be truncated in creation of an array from a mixed sequence of numeric values and strings
NumPy Trac
numpy-tickets@scipy....
Mon Dec 5 03:12:21 CST 2011
#1990: Data can be truncated in creation of an array from a mixed sequence of
numeric values and strings
------------------------+---------------------------------------------------
Reporter: thouis | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: 1.6.2
Component: numpy.core | Version: 1.6.0
Keywords: |
------------------------+---------------------------------------------------
When an array is created from a sequence of numeric (boolean, int, float,
complex) and string (bytes, str, unicode) values, the resulting array type
is string, but only the string values are being used to choose the string
length, leading to truncation of data.
Code:
import numpy as np
for numericval in [True, 1234, 123.4, complex(1, 3)]:
for stringconversion in [str, unicode, bytes]:
print repr(np.array([numericval, stringconversion('abc')]))
Result:
array(['Tru', 'abc'],
dtype='|S3')
array([u'Tru', u'abc'],
dtype='<U3')
array(['Tru', 'abc'],
dtype='|S3')
array(['123', 'abc'],
dtype='|S3')
array([u'123', u'abc'],
dtype='<U3')
array(['123', 'abc'],
dtype='|S3')
array(['123', 'abc'],
dtype='|S3')
array([u'123', u'abc'],
dtype='<U3')
array(['123', 'abc'],
dtype='|S3')
array(['(1+', 'abc'],
dtype='|S3')
array([u'(1+', u'abc'],
dtype='<U3')
array(['(1+', 'abc'],
dtype='|S3')
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1990>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list