0
点赞
收藏
分享

微信扫一扫

『Python笔记』列表解析,numpy点乘,按元素相乘,以及转置的处理


目录

​​目录​​

​​格式 ​​

​​举例 ​​

​​对应元素相乘 element-wise product: np.multiply(), 或 * ​​

​​np.dot()​​

​​转置​​

​​注意一维行数组的转置,无法成功,需要添加[]​​

格式 

列表解析

  根据已有列表,高效创建新列表的方式。

  列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。

语法:

  [expression for iter_val in iterable]

  [expression for iter_val in iterable if cond_expr]

举例 

  • 实例展示:1、要求:列出1~10所有数字的平方
  • 普通方式。

『Python笔记』列表解析,numpy点乘,按元素相乘,以及转置的处理_列表解析

  •  列表解析

『Python笔记』列表解析,numpy点乘,按元素相乘,以及转置的处理_python_02

  • 2、 要求:实现两个列表中的元素逐一配对。
  • 普通方式

『Python笔记』列表解析,numpy点乘,按元素相乘,以及转置的处理_python_03

  • 列表解析

『Python笔记』列表解析,numpy点乘,按元素相乘,以及转置的处理_列表解析_04

说明:  以上实例,使用列表解析比使用普通方法的速度几乎可以快1倍。因此推荐使用列表解析。

对应元素相乘 element-wise product: np.multiply(), 或 * 

import numpy as np
y1=np.array([0,0,1,2,3,3])
y2=np.array([0,0,1,1,2,2])

print(y1*y2)
print(np.multiply(y1,y2))

  • 输出结果:

[0 0 1 2 6 6]
[0 0 1 2 6 6]

np.dot()

import numpy as np
x1=np.array([[1,2,3],[4,5,6]])
x2=np.array([[1,2],[3,4],[5,6]])
#(2,3)和(3,2)=(2,2)
print("方式2:\n",np.dot(x1,x2))
print("方式1:\n",x1.dot(x2))

  • 输出结果:

方式2:
[[22 28]
[49 64]]
方式1:
[[22 28]
[49 64]]

转置

import numpy as np
x1=np.array([[1,2,3],[4,5,6]])
x2=np.array([[1,2],[3,4],[5,6]])
print(x1.T)

  • 输出结果:

[[1 4]
[2 5]
[3 6]]

这个也是类似:对于一维数组而言,numpy.transpose()是不起作用的。 对二维数组的transpose操作就是对原数组的转置操作。

注意一维行数组的转置,无法成功,需要添加[]

import numpy as np
x1=np.array([1,2,3,4,5])
x2=np.array([[6,7,8,9,10]])
print("第一种方式转置:\n",x1.T)
print("第二种方式转置:\n",x2.T)

  • 输出结果:

第一种方式转置:
[1 2 3 4 5]
第二种方式转置:
[[ 6]
[ 7]
[ 8]
[ 9]
[10]]


举报

相关推荐

0 条评论