0-python-Numpy笔记

Numpy是一个用于处理大数据的库,其特点是矩阵存储结构、静态类型和高效性。文章介绍了Numpy的矩阵特性、常用的成员属性,如size、dtype等,以及多种数组实例化方法,包括array、arange、mgrid等。此外,还涉及了随机数生成、对角矩阵创建及文件I/O操作,如CSV和npy文件的读写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我的第一篇笔记

首先 Numpy的设计目的是处理大数据

其次要包含的头文件

        import numpy as np

然后我们进一步说说他的特点.

一.Numpy特点

1.存储结构是一个矩阵

2.静态类型:Numpy数组是在创建后不可改变,除非对整个数组结构转换

如果转化一个数据可以获取值后转化,元素的类型是在创建数组时确定的。

3.**同构的**

4.Numpy数组处理大数据具有高效性

5.由于是静态类型数据不可变,数学函数可以用C或Fortran语言编写的库快速实现,

Fortran语言是一种高性能的编程语言,特别擅长科学计算

二.Numpy的成员常用属性

size        #总字节bit       //一个字节=8bits

itemsize #每个元素字节数

nbytes    #总字节数

ndim       #矩阵维度

shape     #矩阵结构  由外向内

dtype      #矩阵每个元素类型(一个矩阵只能由一个类型)

三.Numpy的实例化方式

1.a=np.array([[1,2],[2,3]],dtype=int)      //a指向通过np.array()方式实例化的对象

常规可以伴随`dtype`使用的数据类型是:`int`, `float`, `complex`, `bool`, `object`等 eg:dtype=int

也可以显式地定义数据类型的大小,例如:`int64`, `int16`, `float128`, `complex128`。eg:dtype="int64"

 2.np.arange(start,end,step)

优点:实例化对象时赋初始值方便

缺点:只能实例化 1维数组

3.np.mgrid[start_1:end_1:step_1, start_2:end_2:step_2]        //先实例化 np.ndim个 np.array(x,y)的数组  x  为                   (end_1-start_1)*(1/step_1)

y同理为                           (end_2-start_2)*(1/step_2)

x为列方向

    第一个np.array(x,y)的每一列为np.array(start_1:end_1:step_1)

y为行方向

    第二个np.array(x,y)的每一行为np.array(start_2:end_2:step_2)

只可以实例化 1个 np.ndim个

(1)只实例化一个,多少维度 最大实例化 多少个数组

(2)排布规律:x 跨行方向列方向第一个参数一致,

                      y 跨列方向行方向第二个参数一致.

4.随机数

        头文件from numpy import random

(1)random.rand(x,y)        / /均匀随机数                  值都在0~1之间,不包含两端

(2)random.randn(x,y)      //标准正分布随机数        值与元素个数有关

5.np.diag([1,2,3], k=1)

作用:    生成一个对角线是[0,1,2,3]的矩阵

k的值为整体向右偏移量

负值时

6.np.zeros((3,3))和np.ones((3,3))

与np.array方法类似

zeros: 生成全是0.(float)

ones: 生成全是1.(float)

7.文件I/O

(1)逗号 分隔 值 (CSV)

np.genfromtxt('matrix.dat')

matrix.dat 内容:

1800 1 1   -6.1   -6.1   -6.1 1

1800 1 2 -15.4 -15.4 -15.4 1

之类直接是    数字+" "

(2).npy文件

        numpy.savetxt("matrix.csv", M)//M为要保存的数据

作用:将np数组保存为文件

可以更改要保存的类型

(比如"int64"想保存为"float")

numpy.savetxt("matrix.csv", Mfmt='%.5f')

       M = np.load("matrix.csv")

       将"matrix.csv"加载到矩阵 M

 分割线   --------------------------------------------------------------   此章完

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值