假设我有一个NumPy数组a:
a = np.array([
[1, 2, 3],
[2, 3, 4]
])
我想添加一列零以获取一个数组b:
b = np.array([
[1, 2, 3, 0],
[2, 3, 4, 0]
])
我如何在NumPy中轻松地做到这一点?
我认为,更简单,更快速的启动方法是执行以下操作:
import numpy as np
N = 10
a = np.random.rand(N,N)
b = np.zeros((N,N+1))
b[:,:-1] = a
和时间:
In [23]: N = 10
In [24]: a = np.random.rand(N,N)
In [25]: %timeit b = np.hstack((a,np.zeros((a.shape[0],1))))
10000 loops, best of 3: 19.6 us per loop
In [27]: %timeit b = np.zeros((a.shape[0],a.shape[1]+1)); b[:,:-1] = a
100000 loops, best of 3: 5.62 us per loop
问题内容: 我正在尝试向从创建的数组中添加一列。在这种情况下,它是一个数组:(行,列)。 我想添加第九列。空或零都无所谓。 问题答案: 我认为您的问题是您希望就地添加该列,但是由于存储的numpy数据的原因,它的作用是创建连接数组的副本 所以你需要保存输出: 替代方式: 我相信这三个函数(以及)之间的唯一区别是未指定when的默认行为: 假设 假设除非输入为1d,否则 如果输入为1d,则假定在添加
问题内容: 输入文件: python代码: 问题: 如您所见,输出在每个项目之间都有多余的行。 如何预防呢? 问题答案: 追加一个换行符,并且输入行已经以换行符结尾。 一个标准的解决方案是逐字输出输入行: PS :对于Python 3(或具有打印功能的Python 2),abaront的解决方案是最简单的解决方案。
假设我有一个对象,该对象包含格式的时间戳,例如。 我想把它转换成对象,并为每个时间戳列出“自午夜以来的分钟数”值: ..., 但我想用一种风格,用一个列表来理解。我天真地构造了一个(语法上不正确的)实现 ,但这不起作用,因为对于hh,mm=ts.split(“:”)不是有效的语法。。。 写同样的事情的有效方法是什么? 澄清一下:我可以看到一个形式上令人满意的解决方案 ,但这是非常低效的,我不想把字
问题内容: 如果k是任意形状的numpy数组,那么,我想对其进行整形以使其变为,这是在一行中完成处理的最佳方法吗? 问题答案: 这样比较容易: 但是,如果您只想在最后添加一个空尺寸,则应使用: 要么 (请参阅有关切片的文档)。
问题内容: 如果我有一个空的数据框: 有没有一种方法可以向此新创建的数据框添加新行?目前,我必须创建一个字典,将其填充,然后将字典附加到最后的数据框中。有没有更直接的方法? 问题答案: 即将发布的pandas 0.13版本将允许通过不存在的索引数据添加行。但是,请注意,这实际上会创建整个DataFrame的副本,因此这不是有效的操作。 说明在此处,此新功能称为“ 放大设置” 。
问题内容: 我需要完成以下任务: 从: (向每行添加一个元素)到: 我已经尝试做类似a [n] = array([1,3,4,x])的事情 但是numpy抱怨形状不匹配。我尝试遍历并将元素x附加到每个项目,但是更改未反映出来。 关于如何实现此目标的任何想法? 问题答案: 对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumP