Guest User

Untitled

a guest
Feb 23rd, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. import numpy as np
  2. x = np.array(zip((1, 2), (3., 4.)), dtype=[('i', 'i4'), ('f', 'f4')])
  3. y = np.array(zip(('a', 'b')), dtype=[('s', 'a10')])
  4.  
  5. z = np.hstack((x, y))
  6. ---------------------------------------------------------------------------
  7. TypeError Traceback (most recent call last)
  8. <ipython-input-7-def477e6c8bf> in <module>()
  9. ----> 1 z = np.hstack((x, y))
  10. TypeError: invalid type promotion
  11.  
  12. >>> import numpy.lib.recfunctions as nlr
  13. >>> x = np.array(zip((1, 2), (3., 4.)), dtype=[('i', 'i4'), ('f', 'f4')])
  14. >>> y = np.array(zip(('a', 'b')), dtype=[('s', 'a10')])
  15. >>> x
  16. array([(1, 3.0), (2, 4.0)],
  17. dtype=[('i', '<i4'), ('f', '<f4')])
  18. >>> y
  19. array([('a',), ('b',)],
  20. dtype=[('s', '|S10')])
  21. >>> z = nlr.merge_arrays([x, y], flatten=True)
  22. >>> z
  23. array([(1, 3.0, 'a'), (2, 4.0, 'b')],
  24. dtype=[('i', '<i4'), ('f', '<f4'), ('s', '|S10')])
  25.  
  26. import numpy
  27. from numpy.lib.recfunctions import merge_arrays
  28. from itertools import chain
  29.  
  30. a = numpy.empty(3, [("col1", int), ("col2", float)])
  31. b = numpy.empty(3, [("col3", int), ("col4", "U1")])
  32.  
  33. %timeit [i for i in (row for row in merge_arrays([a,b], flatten=True))]
  34. 52.9 µs ± 2 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
  35.  
  36. %timeit [i for i in (row for row in (chain(i,k) for i,k in zip(a,b)))]
  37. 3.47 µs ± 52 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
Add Comment
Please, Sign In to add comment