Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在矩阵中使用3个向量作为列

在矩阵中使用3个向量作为列
EN

Stack Overflow用户
提问于 2014-11-20 01:28:52
回答 3查看 38关注 0票数 0

我意识到这应该很容易,但我有一个很大的数据集(14k点),而且我的新编码方式有内存问题。

所以。我有三个有序列表,xnew是x坐标,ynew是y坐标,znew是z坐标。我想要一个数组,其中每行是一个点,有三列,分别是x,y和z。首先,我尝试了一下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
points = []    
for point_number in range(len(xnew)):
    points.append((xnew[point_number], ynew[point_number], 
                  znew[point_number]))
    xyz_out = np.array(points)

它只适用于我的一小部分数据,但不适用于整个数据。

现在,我有这样的想法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xyz_out = np.array([xnew, ynew, znew])
xyz_out.transpose((1, 0))
return xyz_out

出于某种原因,它不会转置我的数据,尽管它看起来应该是转置文档中的数据。有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2014-11-20 03:10:15

试试column_stack

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xyz = np.column_stack((xnew, ynew, znew))
票数 1
EN

Stack Overflow用户

发布于 2014-11-20 01:32:16

创建矩阵的另一种方法是利用内置的zip函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
In [1]: import numpy as np
In [2]: xnew, ynew, znew = range(1000), range(1000), range(1000)
In [3]: xyz = np.array(zip(xnew, ynew, znew))
In [4]: xyz[1, :]
Out[4]: array([1, 1, 1])
In [5]: xyz[2, :]
Out[5]: array([2, 2, 2])

zip会将每个坐标向量的第i个值分组到元组中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> zip(xnew, ynew, znew)[0]
(0, 0, 0)

这使得转换成numpy.array变得很容易。

票数 0
EN

Stack Overflow用户

发布于 2014-11-20 02:06:31

大多数numpy方法只返回一个视图,不会就地修改对象。有关更多详细信息,请参阅this question和其他许多网站。考虑一下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
xnew, ynew, znew = range(1000), range(1000), range(1000)
xyz_out = np.array([xnew, ynew, znew])
xyz_out.transpose((1, 0))

最后一行只提供了xyz_out数组转置的视图。您可以将其分配给:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xyz_out = xyz_out.transpose((1, 0))

现在它可以工作了。在像您这样的2D情况下,只需编写xyz_out = xyz_out.T进行转置即可。

numpy转置也比zip快4到5倍。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%%timeit
xyz_out = np.array([xnew, ynew, znew])
xyz_out = xyz_out.T

%%timeit
xyz_out = np.array(zip(xnew, ynew, znew))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27030218

复制
相关文章
机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法
    在机器学习中的矩阵向量求导(一) 求导定义与求导布局中,我们讨论了向量矩阵求导的9种定义与求导布局的概念。今天我们就讨论下其中的标量对向量求导,标量对矩阵求导, 以及向量对向量求导这三种场景的基本求解思路。
刘建平Pinard
2019/04/27
1K0
机器学习中的矩阵向量求导(三) 矩阵向量求导之微分法
    在机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法中,我们讨论了定义法求解矩阵向量求导的方法,但是这个方法对于比较复杂的求导式子,中间运算会很复杂,同时排列求导出的结果也很麻烦。因此我们需要其他的一些求导方法。本文我们讨论使用微分法来求解标量对向量的求导,以及标量对矩阵的求导。
刘建平Pinard
2019/05/13
1.7K0
机器学习中的矩阵向量求导(五) 矩阵对矩阵的求导
    在矩阵向量求导前4篇文章中,我们主要讨论了标量对向量矩阵的求导,以及向量对向量的求导。本文我们就讨论下之前没有涉及到的矩阵对矩阵的求导,还有矩阵对向量,向量对矩阵求导这几种形式的求导方法。
刘建平Pinard
2019/05/31
3.1K0
MATLAB 向量和矩阵
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:MATLAB 向量和矩阵 ---- MATLAB 向量和矩阵 1.输入数组 2.创建等间距向量 2.1 通过间距创建等间距向量 2.2 通过元素数目创建等间距向量 2.3 等间距列向量 3.数组创建函数 ---- 1.输入数组 MATLAB 中的每个数值变量都是一个数组,单个称为标量的数值实际上是一个 1×1
小嗷犬
2022/11/15
8730
学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵
利炳根
2017/11/20
2.8K0
矩阵/向量的范数
我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。
Steve Wang
2019/05/26
7790
R语言 向量与矩阵
这篇文章讲述的是R语言中关于向量与矩阵的相关知识。希望这篇R语言文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~
不温卜火
2020/10/28
1.5K0
TypeScript实现向量与矩阵
作为一个对线性代数一无所知的开发者,想快速对向量和矩阵进行一个了解和认识,那么本文就正好适合你。
神奇的程序员
2022/04/10
1.9K0
Python使用numpy计算矩阵特征值、特征向量与逆矩阵
Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵。 >>> import numpy as np >>> x = np.matrix([[1,2,3], [4,5,6], [7,8,9]]) # 计算矩阵特征值与特征向量 >>> e, v = np.linalg.eig(x) # 根据特征值和特征向量得到原矩阵 >>> y = v * np.diag(e) * np.linalg.inv(v) >
Python小屋屋主
2018/04/16
10.1K0
矩阵和向量求导入门
本文主要介绍在机器学习公式推导过程中经常会用到的矩阵和向量求导入门知识。之前的文章也提过,本科的高数和线性代数课程中一般都没有介绍这部分知识,于是可能就有朋友会担心矩阵求导是不是很难很高深,其实完全不用担心,理解它只需要了解导数和矩阵的概念就足够了。
阿波张
2020/07/27
1K0
向量范数与矩阵范数科普
向量范数 1-范数:\Vert \boldsymbol{x}\Vert_1=\sum\limits_{i=1}^N |x_i|,即向量元素绝对值之和 2-范数:\Vert \boldsymbol{x}\Vert_2=(\sum\limits_{i=1}^N (x_i)^2)^{\frac{1}{2}},也叫欧几里得范数,常用于计算向量长度,即向量元素的平方和再开方 \infty-范数:\Vert \boldsymbol{x}\Vert_{\infty}=\max\limits_{i} |x_i|,即所有向量
mathor
2021/05/20
1.5K0
「Python」矩阵、向量的循环遍历
请注意,本文编写于 325 天前,最后修改于 325 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.4K0
常用向量和矩阵的范数
任意x \in C^n,设x=(\xi _{1}, \xi _{12}, ... , \xi _{n})^{T},常用的范数有
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.3K0
python中数据基本操作、向量乘法、矩阵乘法、广播详解
强烈建议读者朋友在自己的电脑上测试上述代码,以便加强理解。其中广播的仅用到了 + 运算符,而这些广播规则对于任意二进制通用函数都是适用的,大家可以再试试乘法、除法之类的操作。它适用的场景非常多,尤其是在矩阵运算时候,非常方便,体现了巨大优势。
自学气象人
2023/06/20
2240
python中数据基本操作、向量乘法、矩阵乘法、广播详解
使用 Python 按行和按列对矩阵进行排序
假设我们采用了一个输入的 MxM 矩阵。我们现在将使用嵌套的 for 循环对给定的输入矩阵进行逐行和按列排序。
很酷的站长
2023/02/22
6.1K0
使用 Python 按行和按列对矩阵进行排序
numpy中矩阵转成向量使用_a与b的内积等于a的转置乘b
有点抱歉的是我的数学功底确实是不好,经过了高中的紧张到了大学之后松散了下来。原本高中就有点拖后腿的数学到了大学之后更是一落千丈。线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数。时至今日,我依然觉得这是人生中让人羞愧的一件事儿。不过,好在我还有机会,为了不敷衍而去学习一下。
全栈程序员站长
2022/11/08
1.7K0
为什么MySQL不建议使用NULL作为列默认值?
今天来分享一道美团高频面试题,5 分钟搞懂“为什么 MySQL 不建议使用 NULL 作为列默认值?”。
一行Java
2023/09/04
4160
为什么MySQL不建议使用NULL作为列默认值?
为什么MySQL不建议使用NULL作为列默认值?
blog.csdn.net/qq_30549099/article/details/107395521
肉眼品世界
2021/03/09
4.8K0
向量的范数和矩阵的范数_矩阵范数与向量范数相容是什么意思
我们都知道映射指的是一个空间 R m \mathbb{R}^m Rm到另一个空间 R n \mathbb{R}^n Rn的变换关系,狭义的函数其实是映射的一种特例,特指实数集间 R 1 \mathbb{R}^1 R1的映射关系。
全栈程序员站长
2022/09/28
8710
点击加载更多

相似问题

向量作为矩阵中的列索引

10

numpy中向量作为列矩阵的组合

26

八度使用向量作为矩阵的列索引

10

使用向量作为矩阵的索引

33

向量作为矩阵坐标

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文