ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-numpy科学计算

2022-04-21 00:34:39  阅读:207  来源: 互联网

标签:python 科学计算 array1 矩阵 np array2 print array 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有