数据蛙数据分析每周作业机器学习与深度学习

numpy中matrix、array、list进行转换

2019-02-22  本文已影响0人  yimengtianya1

在numpy中matrix与array直接进行转换,再加上list格式,很容易弄混这三者的格式。

1、list

list是Python基础的数据格式。
list通过[ ]申明,支持append和expend等方法,没有shape属性。

2、matrix与array

1、matrix是矩阵、array是数组。
2、matrix必须是二维。
3、array的就是对应元素相乘,如果行或列数不匹配会自动补全。
array想要实现矩阵相乘,使用np.dot(array1, array2)
4、matrix的
就是矩阵相乘。
matrix想要实现对应元素相乘,使用np.multiply(mat1, mat2)

3、格式转换

# list转为matrix
a=[[4,2],[3,2],[3,1]]
a =mat(a)
print('a = \n',a)
>>> a = 
 [[4 2]
 [3 2]
 [3 1]]
print(type(a))
>>> <class 'numpy.matrixlib.defmatrix.matrix'>
# matrix转为array
a = a.getA()
print('a = \n',a)
>>> a = 
 [[4 2]
 [3 2]
 [3 1]]
print(type(a))
>>> <class 'numpy.ndarray'>

list变成array:np.array(list)
list变成matrix:np.mat(list)
array和matrix相互转换:np.asmatrix( )和np.asarray( )
array变成list:data.tolist( )

4、总结list、array和matrix的区别

1、list是Python中的普通列表对象,支持append和attend操作,没有shape属性;array和matrix是numpy数据库中的对象,不支持append和attend操作,具有shape属性。
2、一个list中可以存放不同类型的数据,如int、float、str,或者布尔型;而array和matrix中只能存放相同类型的数据。
3、list不支持乘法操作;array和matrix支持乘法操作。
4、list对象不支持一次性读取一行或一列,只能通过指针进行元素的索引;array和matrix即支持一次性读取一行或一列,也支持通过指针来进行元素的索引。


作者:liven_zhu
来源:CSDN
原文:https://blog.csdn.net/Liven_Zhu/article/details/80445114
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇 下一篇

猜你喜欢

热点阅读