numpy插入数据方法append和insert
最近在项目中用到LSTM预测,涉及到了大量的numpy数据处理工作。尤其是numpy的增加数据处理,和pandas及list很不一样。目前,插入有两种方式:np.append和np.insert1.np.append能对多维的数组进行操作例如,这里X_test是一个shape为(1,40,1)的数组,我们想向中间的维度(40)添加一个数字1,并删除第一个数字.........
·
最近在项目中用到LSTM预测,涉及到了大量的numpy数据处理工作。尤其是numpy的增加数据处理,和pandas及list很不一样。
目前,插入有两种方式:np.append和np.insert
1.np.append
能对多维的数组进行操作
例如,这里X_test是一个shape为(1,40,1)的数组,我们想向中间的维度(40)添加一个数字1,并删除第一个数字
......
我们可以执行如下命令:
np.append(X_test[:,1:],[[[1]]],axis = 1)
发现结果变成:
......
参数意义:X_test[:,1:]代表对X_test从第二个数字进行切片,插入的数据格式要和数据的格式一致,插入的数据是第二个维度(应该是1轴,0,1,2)
2.np.insert
偷懒用一下案例
a = np.array([[1,2],[3,4],[5,6]])
print ('第一个数组:')
print (a)
print ('\n')
print ('未传递 Axis 参数。 在插入之前输入数组会被展开。')
print (np.insert(a,3,[11,12]))
print ('\n')
print ('传递了 Axis 参数。 会广播值数组来配输入数组。')
print ('沿轴 0 广播:')
print (np.insert(a,1,[11],axis = 0))
print ('\n')
print ('沿轴 1 广播:')
print (np.insert(a,1,11,axis = 1))
输出结果:
第一个数组:
[[1 2]
[3 4]
[5 6]]
未传递 Axis 参数。 在插入之前输入数组会被展开。
[ 1 2 3 11 12 4 5 6]
传递了 Axis 参数。 会广播值数组来配输入数组。
沿轴 0 广播:
[[ 1 2]
[11 11]
[ 3 4]
[ 5 6]]
沿轴 1 广播:
[[ 1 11 2]
[ 3 11 4]
[ 5 11 6]]
详情可见此链接:https://www.runoob.com/numpy/numpy-array-manipulation.html#numpy_oparr6
更多推荐
已为社区贡献1条内容
所有评论(0)