Convert list in tuple to numpy array?

78,516

The command numpy.asarray will turn a number of pre-set iterable containers (list, tuple, etc) into a numpy array.

Share:
78,516
dannycab
Author by

dannycab

Updated on June 29, 2020

Comments

  • dannycab
    dannycab almost 4 years

    I have tuple of lists. One of these lists is a list of scores. I want to convert the list of scores to a numpy array to take advantage of the pre-built stats that scipy provides.

    In this case the tuple is called 'data'

    In [12]: type data[2]
    -------> type(data[2])
    Out[12]: <type 'list'>
    
    In [13]: type data[2][1]
    -------> type(data[2][1])
    Out[13]: <type 'list'>
    
    In [14]: type data[2][1][1]
    -------> type(data[2][1][1])
    Out[14]: <type 'float'>
    
    In [15]: print data[2][1]
    -------> print(data[2][1])
    [16.66, 16.66, 16.66, 16.66, 5.5599999999999996, 16.699999999999999]
    
    In [16]: print data[2][1][1]
    -------> print(data[2][1][1])
    16.66
    

    Can I do this easily once I have stored the tuple?

  • linello
    linello about 10 years
    +1 for numpy.asarray it's very powerful, just a note. does it return a deep copy or simply another view of the input array?
  • John Zwinck
    John Zwinck almost 10 years
    @linello: It copies if it has to, such as when the input is a Python built-in sequence type.
  • Imago
    Imago over 2 years
    Nope, that does not always work, thus -1. E.g. x = np.asarray((1,2,3,4,5))
  • Seth Johnson
    Seth Johnson over 2 years
    Haha, this question and answer are both 11 years old! @Imago On numpy 1.19.2 and python 3.10, as well as the very early version of numpy here, asarray does work for tuples: your test code gives me a numpy array. What error are you seeing?