导入numpy包进行科学计算
直接上代码
import numpy as np
#使用numpy得到一个二维矩阵
a = np.array([1,2,3])
print(a,type(a)) # [1 2 3]
a1 = np.array([[1,2,3],[4,5,6]])
print(a1)
#有时候我们并不需要整数类型的,而是浮点数类型的,我们就需要将其转化为浮点类型的
a1 = np.array([['1','2','3'],['4','5','6']]) #原本其中的数据类型为字符串
print(a1)
#我们要将其转化为浮点型的
a11 = a1.astype('float')
print(a11)
#(重点)索引
#将数据转化为ndarray对象后会按照某种方式来抽取数据
#ndarray对象提供了两种索引方式:
#切片索引:切片索引和对列表list的切片相似,不过由原本的一维变成多维
#生成一个简单地二维矩阵,
b = np.array([[1, 2, 3, 4],[5, 6, 7, 8]])
print(b)
print(b[:, :2]) #逗号左边控制行数,右边控制列数
print(b[1,2:])
#索引后还可以直接对应该位置重新赋值
b[0][2] = 12
print(b)
#可以通过shape属性得到数组的行数和列数
print(b.shape) #(2, 4)
array = np.array([[1,2,3,4],[5,6,7,8],[11,22,33,44],[55,66,77,88]])
print(array)
#将矩阵按照行进行均分,如果是奇数就会报错
array1 = np.split(array,2) #将矩阵分成2,2两等份
print(array1)
array2 = np.split(array,[1,-1]) #将矩阵分成 1,2,1 三份
print(array2)
#将矩阵按照2行8列,打散重新组合
print(array.reshape((2, 8)))
#将矩阵按照 行数的为0,3,2的顺序来排列
print(np.vstack((array[0], array[3], array[2]))) #通过vstack沿纵轴拼接
print(np.hstack((array[0], array[3]))) #通过 hstack 沿横轴拼接
#通过 concatenate 进行拼接
print(np.concatenate((array[1], array[3])))
#矩阵转置
print(array.transpose()) #装置
#矩阵翻转
print(np.fliplr(array)) #左右翻转
print(np.flipud(array)) #上下翻转
# 矩阵之间的运算
array1 = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
array2 = np.array([[11, 22, 33, 44], [55, 66, 77, 88]])
print(array1 + array2)
print(array1 - array2)
print(array1 * array2)
print(array1 / array2)
array3 = np.array([2, 4, 8, 16])
print(np.log2(array3))
print(np.amax(array3))