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

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

import numpy as np

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

 

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

list(map(tuple,npdata))
Out:
[(1.0, 10.0, 13.0, 5.0, 15.0),
 (2.0, 13.0, 17.0, 9.0, 20.0),
 (3.0, 17.0, 14.0, 11.0, 23.0),
 (4.0, 14.0, 15.0, 5.0, 19.0),
 (5.0, 15.0, 9.0, 8.0, 22.0),
 (6.0, 9.0, 15.0, 8.0, 16.0),
 (7.0, 1.0, 1.3, 0.5, 1.5),
 (8.0, 1.3, 1.7, 0.9, 2.0),
 (9.0, 1.7, 1.4, 1.1, 2.3),
 (10.0, 1.4, 1.5, 0.5, 1.9),
 (11.0, 1.5, 0.9, 0.8, 2.2),
 (12.0, 0.9, 1.5, 0.8, 1.6)]

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

 

 

 

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值