当前位置:   article > 正文

list(tuple)与numpy.array的相互转换_tuple转numpy

tuple转numpy

首先list(tuple)转换成numpy.array很简单,直接会变成二维数组.

  1. import numpy as np
  2. data=[(1.0, 10, 13, 5, 15),
  3. (2.0, 13, 17, 9, 20),
  4. (3.0, 17, 14, 11, 23),
  5. (4.0, 14, 15, 5, 19),
  6. (5.0, 15, 9, 8, 22),
  7. (6.0, 9, 15, 8, 16),
  8. (7.0, 1.0, 1.3, 0.5, 1.5),
  9. (8.0, 1.3, 1.7, 0.9, 2.0),
  10. (9.0, 1.7, 1.4, 1.1, 2.3),
  11. (10.0, 1.4, 1.5, 0.5, 1.9),
  12. (11.0, 1.5, 0.9, 0.8, 2.2),
  13. (12.0, 0.9, 1.5, 0.8, 1.6)]
  14. npdata=np.array(data)
  15. npdata
  16. array([[ 1. , 10. , 13. , 5. , 15. ],
  17. [ 2. , 13. , 17. , 9. , 20. ],
  18. [ 3. , 17. , 14. , 11. , 23. ],
  19. [ 4. , 14. , 15. , 5. , 19. ],
  20. [ 5. , 15. , 9. , 8. , 22. ],
  21. [ 6. , 9. , 15. , 8. , 16. ],
  22. [ 7. , 1. , 1.3, 0.5, 1.5],
  23. [ 8. , 1.3, 1.7, 0.9, 2. ],
  24. [ 9. , 1.7, 1.4, 1.1, 2.3],
  25. [10. , 1.4, 1.5, 0.5, 1.9],
  26. [11. , 1.5, 0.9, 0.8, 2.2],
  27. [12. , 0.9, 1.5, 0.8, 1.6]])

 

反过来,就比较麻烦了,网上大多数提供的都是简单的,array到list的转换,用tolist().。但是会导致没有转换回原状态。如果想转换回原有的list(tuple)模式的数组,应该怎么办呢?

  1. list(map(tuple,npdata))
  2. Out:
  3. [(1.0, 10.0, 13.0, 5.0, 15.0),
  4. (2.0, 13.0, 17.0, 9.0, 20.0),
  5. (3.0, 17.0, 14.0, 11.0, 23.0),
  6. (4.0, 14.0, 15.0, 5.0, 19.0),
  7. (5.0, 15.0, 9.0, 8.0, 22.0),
  8. (6.0, 9.0, 15.0, 8.0, 16.0),
  9. (7.0, 1.0, 1.3, 0.5, 1.5),
  10. (8.0, 1.3, 1.7, 0.9, 2.0),
  11. (9.0, 1.7, 1.4, 1.1, 2.3),
  12. (10.0, 1.4, 1.5, 0.5, 1.9),
  13. (11.0, 1.5, 0.9, 0.8, 2.2),
  14. (12.0, 0.9, 1.5, 0.8, 1.6)]

搞定了!就这样,list(map(tuple,npdata)))

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/47686
推荐阅读
相关标签
  

闽ICP备14008679号