编程语言
首页 > 编程语言> > python-numpy科学计算

python-numpy科学计算

作者:互联网

导入numpy包进行科学计算

直接上代码

import numpy as np
#使用numpy得到一个二维矩阵
a = np.array([1,2,3])
print(a,type(a)) # [1 2 3] <class 'numpy.ndarray'>
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))

标签:python,科学计算,array1,矩阵,np,array2,print,array,numpy
来源: https://www.cnblogs.com/atao-BigData/p/16172429.html