微信公众号:yale记关注可了解更多的教程问题或建议,请公众号留言。
背景介绍
今天我们学习NumPy函数numpy.append和numpy.hstack来添加和删除NumPy数组中的元素以及水平和垂直堆叠数组。 使用Jupyter Notebook交互式环境用于编码。
入门示例
以上为在Jupyter Notebook中进行的代码运行截图,具体代码如下:
# ## 使用Numpy函数操作数组进行添加和删除元素 # In[37]: import numpy as np # In[38]: #定义一个3D数组my_array my_array = np.array(np.arange(24)).reshape(2,3,4) my_array # ## 使用np.append()方法往数组中添加元素 # In[39]: new_array = np.append(my_array,[5,6,7,8]) new_array # In[40]: #查看shape new_array.shape # In[41]: new_array.reshape(7,4) # In[42]: #在定义一个数组c c = np.array(np.arange(24)).reshape(2,3,4) * 10 + 3 c # In[43]: my_array # In[44]: #接下来往my_array中添加c #axis=0 是在第一“维”行 np.append(my_array,c,axis=0) # In[45]: #查看shape np.append(my_array,c,axis=0).shape # In[46]: #axis=1 是在第二“维”列 np.append(my_array,c,axis=1) # In[47]: np.append(my_array,c,axis=2) # In[48]: np.append(my_array,c,axis=2).shape # ## 使用np.hstack()添加元素 # # In[49]: my_stack = np.hstack((my_array,c)) my_stack # In[50]: my_stack.shape # In[51]: #改变【0,0,2】的值 my_stack[0,0,2] = 999 # In[52]: my_stack # ## 使用np.insert()插入元素 # In[53]: c # In[54]: insert_arr = np.insert(c,1,888,axis=0) insert_arr # In[55]: np.insert(c,1,888,axis=1) # In[56]: np.insert(c,1,888,axis=2) # ## 使用np.delete()删除元素 # In[57]: d = np.empty(c.shape) np.copyto(d,c) d # In[58] np.delete(d,1,axis=1) # In[59]: np.delete(d,1,axis=2) # # numpy.reshape(array, shape, order = ‘C’) : ## 在不改变数组的情况下塑造数组 # # python 程序说明 # # numpy.reshape() 方法 # In[60]: array = np.arange(8) print("原始数组 : \n", array) # # 塑造数组有2行4列 # In[61]: array = np.arange(8).reshape(2, 4) print("\n塑造数组有2行4列 : \n", array) # # 塑造数组有4行2列 # In[62]: array = np.arange(8).reshape(4 ,2) print("\n塑造数组有4行2列s : \n", array) # # 构造三维数组 # In[63]: array = np.arange(8).reshape(2, 2, 2) print("\n原始数组构造成三维数组 : \n", array) # # numpy.axis解释: # ## 根据定义,维度的轴号是数组形状中该维度的索引。 #它也是在索引期间用于访问该维度的位置。 # ## 例如,如果2D阵列a具有形状(5,6), #那么您可以访问[0,0]直到[4,5]。 #因此,axis 0是第一维(“行”),axis 1是第二维(“列”)。 #在更高的维度中,“行”和“列”停止真正有意义, #尝试根据所涉及的形状和指数来考虑轴。
关注公号
下面的是我的公众号二维码,欢迎关注: