常用操作的ing,
操作
np.arange(1,11).reshape([2,-1])产生等差数列1-10
aixs越大深入程度越大、
#常用array操作
np.arange(1, 11) #产生一个1-11(不含11)的等差数列
np.arange(1, 11)reshape([2, 5]) # 变成两行五列 五也可换为-1
np.exp(list) # list 的自然指数
np.exp2(list) # list 的自然指数的平方
np.【sqrt,sin,log,square,sum,max,min】(list)
# list 的正弦,自然对数,开方,平方,求和,最大值,最小值
#np.dot 点乘 (也可直接进行加减乘除等操作 )
np.copy(list1) #对数组进行拷贝
np.concateenata[vstack,hstack] #对数组进行追加 split 分开
np.arange(1,10)生成等差数列
reshape重置形状
axis可以为矩阵选择运算在那个维度上
concatenate矩阵追加组合,自己选维度
vstack纵向组合
hstack横向组合
split分成几份
copy拷贝复杂数组
cancatenate, vstack, hstack, split
点乘的结果.
左开右闭,先行后列,先外后里
数学运算很方便
numpy.XXX()
exp() exp2()
sqrt()
sin()
log()
np.concatenate 两个lst的追加 np.vstack 追加 分成两行 np.hstack 同concatenate的结果 np.spilt 分成几份数组 copy(lst1) 拷贝
axis越大,深入的就越大,反之深入的越小
# 3. Some Array Opers lst = np.arange(1, 11).reshape([2, 5]) # 5可以缺省为-1, 产生一个1-11(不含11)的等差数列 print lst print "Exp" print np.exp(lst) print "Exp2" print np.exp2(lst) print "Sqrt" print np.sqrt(lst) print "sin" print np.sin(lst) print "log" print np.log(lst) lst = np.arange(1,25).reshape([3, 2, 4]) # 等差数列 # 即如下数组 lst = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]], [[17, 18, 19, 20], [21, 22, 23, 24]]]) print lst print lst.sum() # x为维度,x越大,深入程度越大。0:最外层,1:再往里深入一层,对各个元素操作 print lst.sum(axis=0) # 最外层共3个元素,第一个元素:[[1, 2, 3, 4], [5, 6, 7, 8]] print lst.sum(axis=1) # 再深入一层,第一个元素:[1, 2, 3, 4],第二个:[5, 6, 7, 8] print lst.sum(axis=2) # 再深入一层,遍历[1, 2, 3, 4]求和得第一个元素。 print lst.max(), lst.min() print lst.max(axis=2) print lst.max(axis=1) print lst.max(axis=0) # 对两个数组操作 lst1 = np.array([10, 20, 30, 40]) lst2 = np.array([4, 3, 2, 1]) print "Add" print lst1+lst2 print "Sub" print lst1-lst2 print "Mul" print lst1*lst2 print "Div" print lst1/lst2 print "Square" print lst1**2 print "Dot" # 点乘 print np.dot(lst1.reshape([2, 2]), lst2.reshape([2, 2])) # numpy 中 array 追加 Concatenate print "Concatenate" print np.concatenate((lst1, lst2), axis=0) # 追加,更简单的追加如下 print np.vstack((lst1, lst2)) # 上下接起来,2行,垂直接起来 print np.hstack((lst1, lst2)) # 水平接起来 print np.split(lst1, 2) # 分割为两个数组 print np.copy(lst1) # 拷贝
list = np.array([[[1, 2, 3, 4], [4, 5, 6, 7, ]], [[7, 8, 9, 10], [11, 12, 13, 14]], [[15, 16, 17, 18], [19, 20, 21, 22]] ]) axis取值跟维数有关,维数从 0 开始算起,axis值越大,深入的程度越深 print (list.sum(axis=0))# axis表示维度,sxis=0,表示最外层的元素相加 print (list.sum(axis=1))# 表示最外层减一层的元素相加 print (list.max(axis=0)) # 最外层元素中的最大元素值 print (list.min(axis=0)) # 最外层元素中的最小元素值 list1 = np.array([10, 20, 30, 40]) list2 = np.array(([4, 3, 2, 1])) print(list1 + list2) # 对两个list中的元素相加,ps:不是将一个数组中的元素放在另一个后面 print (list1-list2) # 对两个list中的元素相 print (list1**2) # 对两个list中的元素平方 print (list1/list2)# 对两个list中的元素相除 print (list1.reshape([2, 2])) print (list2.reshape([2, 2])) print (np.dot(list1.reshape([2, 2]), list2.reshape([2, 2]))) # 数组点乘 print(np.concatenate((list1,list2),axis = 0)) #将两个数组相连,即list2添加到list1中,传的是tup
#常用array操作 list = (np.arange(1, 11)) #产生一个1-11(不含11)的等差数列 list = (np.arange(1, 11)).reshape([2, 5]) # 变成两行五列数组 print (np.exp(list)) # list 的自然指数 print (np.exp2(list)) # list 的自然指数的平方 print (np.sqrt(list)) # list 的开方 print (np.square(list)) # list 的平方 print (np.sin(list)) # list 的正弦值 print (np.log(list)) # list 的对数值 print (np.vstack((list1,list2))) #将两个数组分成两行组成一个数组也就是以行连接,注意传的是个tuple print (np.hstack((list1,list2))) #将两个数组相连组成一个一维数组,传的是tup print (np.split(list1,n)) #将数组 list1 切分成n个子数组 print (np.copy(list1)) #对数组进行拷贝
lst=np.arang(1,11).reshape([2,-1]) print(np.exp(lst)) print(np.exp2(lst)) print(np.sin(lst)) print(lst.sum(axis=0/1/2) print(np.concatenate(lst1,lst2),axis=0)) print(np.vstack(lst1,lst2)) print(np.hstack(lst1,lst2)) print(np.split(lst1))
...........
lst.sum, lst.min, lst.min
中axis:
- axis=0, 对最外层的每行进行操作
- axis=1, 对倒数第二层的每行进行操作
#常用array操作
list = (np.arange(1, 11)) #产生一个1-11(不含11)的等差数列
list = (np.arange(1, 11)).reshape([2, 5]) # 变成两行五列数组 ,reshape是一种函数,函数可以重新调整矩阵的行数、列数、维数。
print (np.exp(list)) # list 的自然指数
print (np.exp2(list)) # list 的自然指数的平方
print (np.sqrt(list)) # list 的开方
sum函数里面的axis是指定行或者列.
axis=0的话是按列求和, axis=1是按行求和
print (np.vstack((list1,list2))) # Vertical 垂直,即纵向连接
print (np.hstack((list1,list2))) #Horizontal 水平,即横向连接
np.concatenate 两个lst的追加
np.vstack 追加 分成两行
np.hstack 同concatenate的结果
np.spilt 分成几份数组
数据操作方法
常用操作2
axis 维度
print (np.vstack((list1,list2))) # Vertical 垂直,即纵向连接
print (np.hstack((list1,list2))) #Horizontal 水平,即横向连接
np.arange(start, end[, step])#类似于range()
np.exp(array)
np.exp2(array)
np.sin(array)
两数组操作:
+、- 、* 、/ 、**
np.dot(array1, array2)
np.concatenate((array1, array2), axis=dim)#按维度连接
np.vstack(array1, array2)#竖直连接
np.hstack(array1, array2)#水平连接
np.split(array1, n)#等分成n份
应该是对于二维矩阵而言, sum函数里面的axis是指定行或者列. axis=0的话是按列求和, axis=1是按行求和 如果没有axis参数的话就是全部元素求和 更高维度的矩阵的话axis可以看成指定的是维度 #常用array操作 list = (np.arange(1, 11)) #产生一个1-11(不含11)的等差数列 list = (np.arange(1, 11)).reshape([2, 5]) # 变成两行五列数组 print (np.exp(list)) # list 的自然指数 print (np.exp2(list)) # list 的自然指数的平方 print (np.sqrt(list)) # list 的开方 print (np.square(list)) # list 的平方 print (np.sin(list)) # list 的正弦值 print (np.log(list)) # list 的对数值 print (np.vstack((list1,list2))) #将两个数组分成两行组成一个数组也就是以行连接,注意传的是个tuple print (np.hstack((list1,list2))) #将两个数组相连组成一个一维数组,传的是tup print (np.split(list1,n)) #将数组 list1 切分成n个子数组 print (np.copy(list1)) #对数组进行拷贝