What are the available datatypes for 'dtype' with NumPy's loadtxt() an genfromtxt?
Question:
What are the available numpy.loadtxt or numpy.genfromtxt for importing table data with varying datatypes, and what are the available abbreviations for the use (e.g. i32 for integer)?
This post demonstrates the use of conditions, which I was curious if somebody might elaborate on.
Answers:
Generic info about dtypes
: http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html
From http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html#arrays-scalars-built-in
In NumPy, there are 24 new fundamental Python types to describe different types of scalars. These type descriptors are mostly based on the types available in the C language that CPython is written in, with several additional types compatible with Python’s types.
And what I didn’t realise, is:
The C-like names are associated with character codes, which are shown in the table. Use of the character codes, however, is discouraged.
I doubt the numpy
code/doc base is going anyway anytime soon, so that says it all I guess!
for k, v in np.sctypeDict.iteritems(): print '{0:14s} : {1:40s}'.format(str(k), v)
Q : <type 'numpy.uint64'>
U : <type 'numpy.unicode_'>
a : <type 'numpy.string_'>
etc.
In addition to np.sctypeDict
, there are these variables:
In [141]: np.typecodes
Out[141]:
{'All': '?bhilqpBHILQPefdgFDGSUVOMm',
'AllFloat': 'efdgFDG',
'AllInteger': 'bBhHiIlLqQpP',
'Character': 'c',
'Complex': 'FDG',
'Datetime': 'Mm',
'Float': 'efdg',
'Integer': 'bhilqp',
'UnsignedInteger': 'BHILQP'}
In [143]: np.sctypes
Out[143]:
{'complex': [numpy.complex64, numpy.complex128, numpy.complex192],
'float': [numpy.float16, numpy.float32, numpy.float64, numpy.float96],
'int': [numpy.int8, numpy.int16, numpy.int32, numpy.int32, numpy.int64],
'others': [bool, object, str, unicode, numpy.void],
'uint': [numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint32, numpy.uint64]}
What are the available numpy.loadtxt or numpy.genfromtxt for importing table data with varying datatypes, and what are the available abbreviations for the use (e.g. i32 for integer)?
This post demonstrates the use of conditions, which I was curious if somebody might elaborate on.
Generic info about dtypes
: http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html
From http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html#arrays-scalars-built-in
In NumPy, there are 24 new fundamental Python types to describe different types of scalars. These type descriptors are mostly based on the types available in the C language that CPython is written in, with several additional types compatible with Python’s types.
And what I didn’t realise, is:
The C-like names are associated with character codes, which are shown in the table. Use of the character codes, however, is discouraged.
I doubt the numpy
code/doc base is going anyway anytime soon, so that says it all I guess!
for k, v in np.sctypeDict.iteritems(): print '{0:14s} : {1:40s}'.format(str(k), v)
Q : <type 'numpy.uint64'>
U : <type 'numpy.unicode_'>
a : <type 'numpy.string_'>
etc.
In addition to np.sctypeDict
, there are these variables:
In [141]: np.typecodes
Out[141]:
{'All': '?bhilqpBHILQPefdgFDGSUVOMm',
'AllFloat': 'efdgFDG',
'AllInteger': 'bBhHiIlLqQpP',
'Character': 'c',
'Complex': 'FDG',
'Datetime': 'Mm',
'Float': 'efdg',
'Integer': 'bhilqp',
'UnsignedInteger': 'BHILQP'}
In [143]: np.sctypes
Out[143]:
{'complex': [numpy.complex64, numpy.complex128, numpy.complex192],
'float': [numpy.float16, numpy.float32, numpy.float64, numpy.float96],
'int': [numpy.int8, numpy.int16, numpy.int32, numpy.int32, numpy.int64],
'others': [bool, object, str, unicode, numpy.void],
'uint': [numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint32, numpy.uint64]}