python list 转数组assay

list里面存放的是字符串形式的数字,转为float的可运算数字的数组assay,矩阵matrix

首先有一个list如下
data = ['0.8217698560600115', '0.020526409993814658', '0.0008932543433348743', '0.004280856398492861', '0.016243199480966055', '-0.005934143252733641', '0.004167918722734331'],看到这里,头皮发麻,里面全是字符形式的,接下来调用numpy里面的assay 。

import numpy as np
data_assay = np.assay(data,dtype = float)   
#用np.asassay(data,dtype = float)效果是一样的,差别在当数据源是ndarray时,assay会复制一个,占用内存,但是asassay不会复制,
print(data_assay)

打印出来的结果如下:

[ 8.21769856e-01  2.05264100e-02  8.93254343e-04  4.28085640e-03
  1.62431995e-02 -5.93414325e-03  4.16791872e-03  ]

可以看到里面的字符串都改成float,执行下面代码,看看是否是我们需要转成的行矩阵:

print(data_assay.shape)

现实很残酷,输出如下:

(7,)

没有显示(1,7),这其实不算一个真正的矩阵,而是一个包含7个元素的数组。
所以这是将我们的list转换成了数组,但是机器学习都是用矩阵做运算的,接下来我们尝试将list转换成矩阵

data_mat = np.matrix(data,dtype=float)
print(data_mat)
print(data_mat.shape)

结果现实如下:

[ [8.21769856e-01  2.05264100e-02  8.93254343e-04  4.28085640e-03
  1.62431995e-02 -5.93414325e-03  4.16791872e-03 ] ]
(1,7)

这才是一个真正的矩阵,虽然显示的时候和上面数组assay一样,但是查看其shape时可以很清晰看到差别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值