python numpy 学习一

这次学习numpy包,也是按照官方的tutorial 来学习的,地址为https://docs.scipy.org/,总体感觉这个包的好多语法都和matlab相似。学习使用Spyder这个软件,软件既可以交互式的操作也可以工程式的编程,还可以像Matlab一样可以查看变量,以及历史命令,总之特别好用。废话不说这么多了,下面直接进入正题:

首先导入模块

 import numpy as np

1、介绍了这个包主要是对数组中的元素进行操作,类型为ndarray,介绍了几种主要的属性

 ndarray.ndim          数组的维度

ndrarry.shape          数组各维度的值,结果为N*M

ndrarry.size             数组的所有元素个数

ndrarry.dtype          元素的类型 ,默认为float64

ndrarry.itemsize      每个元素所占的字节

ndrarry.data            数组中的元素


举个例子:

import numpy as np
a=np.arange(12).reshape(2,2,3)
a.ndim
a.shape
a.size
a.dtype
a.itemsize
a.data



#可以使用np.array() 生成数组

b=np.array([2,3,4])                     #生成数组的时候要加’ [ ]' ,不加的话会显示错误

b.dtype

print(b)


#也可以利用关键字参数dtype,生成需要的复数

c=np.array([[1,2],[3,4]],dtype=complex)
c
c.dtype.name


#特殊矩阵的生成,zeros,ones,empty 

#用法:

d=np.zeros((3,4))                           #生成3*4的矩阵
d
e=np.ones((2,3),dtype=np.int16)  #2*3的单位矩阵
e
f=np.empty((2,3))                          #生成2*3的随机矩阵,并不是真正的随机,其实是根据内存中存储的信息生成
f


#可以使用arange,linspace生成序列

a=np.arange(0,2,0.3)   #从0到2,以步长为0.3增长
a
b=np.linspace(0,2,9)  #从0到2,均等的取9个
print(b)
f=np.sin(b)                     
print(f)


#对数组进行的基本操作

a=np.array([20,30,40,50])
b=np.arange(4)
print(b)
c=a-b                               #各个元素之间进行减法,必需是相同维度的数组才能进行加减操作

print(c)
print(b**2)                       #对b的每个元素进行平方
print(10*np.sin(a))
print(a<35)


#  dot乘法与*的不同

A = np.array( [[1,1],[0,1]])
B=np.array([[2,0],[3,4]])
A*B                                           #A中的每个元素与B的对应元素相乘
A.dot(B)                                    #线性代数中的A*B
np.dot(A,B)


#最大值,最小值,以及对行、列的选择参数axis

a=np.arange(12).reshape(3,4)
print(a)
a.min()                                      #默认是对所有元素求最小
a.min(axis=0)                           #axis=0 是对每一列元素求最小
a.max()                                    
a.max(axis=1)                          #axis=1 是对每一行元素求最大,求和函数也类似
a.cumsum(axis=1)                   #对每一行元素进行累加求和,每行结束之后重新开始





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值