numpy中的ravel()、flatten()、squeeze()都有将多维数组转换为一维数组的功能,区别:
ravel():如果没有必要,不会产生源数据的副本
flatten():返回源数据的副本
squeeze():只能对维数为1的维度降维
另外,reshape(-1)也可以“拉平”多维数组
原文链接:https://blog.csdn.net/tymatlab/article/details/79009618
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3分钟理解np.meshgrid()
官方解释:
np.meshgrid(*xi, **kwargs)
Return coordinate matrices from coordinate vectors. 从坐标向量中返回坐标矩阵
不够直观
直观的例子
二维坐标系中,X轴可以取三个值1,2,3, Y轴可以取三个值7,8, 请问可以获得多少个点的坐标?
显而易见是6个:
(1,7)(2,7)(3,7)
(1,8)(2,8)(3,8)
np.meshgrid()就是干这个的!
#coding:utf-8
import numpy as np
# 坐标向量
a = np.array([1,2,3])
# 坐标向量
b = np.array([7,8])
# 从坐标向量中返回坐标矩阵
# 返回list,有两个元素,第一个元素是X轴的取值,第二个元素是Y轴的取值
res = np.meshgrid(a,b)
#返回结果: [array([ [1,2,3] [1,2,3] ]), array([ [7,7,7] [8,8,8] ])]
同理还可以生成更高维度的坐标矩阵
原文链接:https://blog.csdn.net/littlehaes/article/details/83543459