NumPy学习笔记

本文详细介绍了NumPy库的基础知识,包括数组的创建、形状操作、基本运算以及索引和切片。通过实例展示了如何使用array、zeros、ones、empty和arange函数创建数组,并演示了如何利用算术运算符、dot函数进行矩阵运算。此外,还讨论了通用函数、索引、切片和迭代多维数组的方法,以及如何通过reshape、transpose、resize和column_stack等函数改变和组合数组形状。
摘要由CSDN通过智能技术生成

Numpy笔记

基础

1NumPy的主要对象:同种元素的多维数组。

2、在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)

例:[[ 1., 0., 0.],

 [ 0., 1., 2.]]

秩:2,第一个维度(对应竖轴):2,第二个维度:3

例:

import numpy

a=arange(15).reshape(3,5)

print(a)

print(a.shape) #维度,这个元组的长度是秩。(3, 5)

print(a.ndim) #轴的个数。2

print(a.size) #15

print(type(a)) #<class 'numpy.ndarray'>

创建数组

1、使用array函数从常规的Python列表和元组创造数组。数组类型由原序列中的元素类型推导而来。

例:

import numpy

a=array([2,3,4]) #参数是列表或元组,而不是一组数字

print(a.dtype)  #输出:int32

b=array([1.2,2.3,3.4])

print(b.dtype)  #输出:float64

2、二维三维数组

a=array([(2,3,4),[5,6,7]])

3、指定数据类型

a=array([(2,3,4),[5,6,7]],dtype=complex)

array([[ 2.+0.j,  3.+0.j,  4.+0.j],

       [ 5.+0.j,  6.+0.j,  7.+0.j]])

4、使用占位符创建数组

1)创建一个全是0的数组。默认创建的数组类型(dtype)都是float64

a=zeros((3,4))

a

Out[28]:

array([[ 0.,  0.,  0.,  0.],

       [ 0.,  0.,  0.,  0.],

       [ 0.,  0.,  0.,  0.]])

2)创建一个全1的数组

a=ones((3,4,4),dtype=int16) #可以指定类型

a

Out[30]:

array([[[1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1]],

 

       [[1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1]],

 

       [[1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1],

        [1, 1, 1, 1]]], dtype=int16)

(3)创建一个内容随机并且依赖与内存状态的数组

empty((2,4))

Out[32]:

array([[  0.00000000e+000,   5.94855038e-321,   2.47032823e-323,

          1.47675400e-311],

       [  0.00000000e+000,   2.47032823e-323,   1.47675399e-311,

          0.00000000e+000]])

5、创建一个数列,arange函数,返回数组

arange(2,5)

Out[53]: array([2, 3, 4])

打印数组

1、嵌套列表:

最后的轴从左到右打印;次后的轴从顶向下打印;剩下的轴从顶向下打印,每个切片通过一个空行与下一个隔开。

2、一维数组被打印成行,二维数组成矩阵,三维数组成矩阵列表。

3、如果一个数组用来打印太大了,NumPy自动省略中间部分而只打印角落

print(np.arange(1000))

[  0   1   2 ..., 997 998 999]

4、强制打印整个数组,设置printoptions参数来更改打印选项

np.set_printoptions(threshold='nan')

from numpy import *

set_printoptions(threshold=1000)

print(arange(1000))

基本运算

1、数组的算术运算是按元素的。

2、NumPy中的乘法运算符*指示按元素计算

import numpy as np

b = np.array( [[2,0],[3,4]] )

a = np.array( [[1,1],[0,1]] )

print(a*b)

输出:

[[2 0]

 [0 4]]

3、矩阵乘法可以使用dot函数实现

print(np.dot(a,b))

输出:

[[5 4]

 [3 4]]

4、+=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值