Python学习笔记——NumPy

文章介绍了向量数据的基本概念,指出在大量计算时Python列表效率低,从而引出NumPy库。NumPy提供了快速的数组操作,如创建数组(array,ones,empty,zeros,arange),数组属性(ndim,shape,size,dtype)以及向量的算术运算、拼接和其他操作,如求和、最小值和最大值等。

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

一、向量数据

①概念

向量数据是指存储一系列同类数据有序数据结构

②分类

python中的列表和元组可以用来存储向量数据。

分为 一维列表,二维列表,三(多)维列表。

 ③向量数据结构的理解

 二、产生原因

大量的向量数据计算时,使用python的列表速度比较慢,于是C语言写的python库NumPy就诞生了,一方面是速度快了,另一面有更多的方法可以使用。

列表-->计算(比较慢)

列表-->向量数据(numpy)-->计算(比较快)

1、数组的创建

array()#传入 列表,元组
ones()#(行,列)
empty()#(行,列)
zeros()#(行,列)
arange()#(开头,结尾,步长)
import numpy as np
#======根据多段数据=======
a1 = np.array([1,2,3])#传入列表
print(a1)

a2 = np.array((1,2,3))  # 传入元组
print(a2)
#======根据维度数据=======
a3 = np.ones((2,3))  # 传入维度元组(第一维2、第二维3),默认数据是1
print(a3)

a4 = np.empty((3, 3))  # 传入维度元组(第一维3、第二维3),默认数据是随机数
print(a4)

a5 = np.zeros((3, 4))  # 传入维度元组(第一维3、第二维3),默认数据是0
print(a5)
#======根据范围数据=======
a6 = np.arange(1,5,1)  # 传入开头,结尾,步长。生成一维向量数据。
print(a6)

2、数组对象属性

import numpy as np
a = np.ones((3,2))
print(a.ndim)#数组维度 的个数
print(a.shape)#数组    的形状
print(a.size)#数组元素  的总个数
print(a.dtype)#数组元素 的数据类型

3、dtype

array()
ones()
empty()
zeros()
arange()
import numpy as np
a = np.ones((3,2),dtype=np.int32)
print(a)
print(a.dtype)

类型大全:

NumPy 数据类型 | 菜鸟教程

4、改变形状

个数需要一致 

import numpy as np
a = np.arange(1,7,1)
print(a)
b = a.reshape((3,2))
print(b)

 

5、向量的算数运算

数组四则运算,要求数组形状相同。

数组和一个数运算,相当于数组的每一位与这个数运算。

import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
print(a+b)
print('==================')
print(a+1)

6、 向量的添加元素

一维拼接 

 

import numpy as np
a = np.ones((4,))
print(a)
b = np.zeros((4,))
print(b)
c = np.concatenate((a,b))
print(c)

二维拼接

import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
c = np.concatenate((a, b))# axis = 0
print(c)
print('==================')
d = np.concatenate((a, b),axis=1)
print(d)

 

 7、向量的其他操作

数组.sum()#不传参数时,求所有元素的和,   传axis参数可指定维度,axis=1求每一排,axis=0求每一列。
数组.min()#不传参数时,求所有元素的最小值,传axis参数可指定维度。
数组.max()#不传参数时,求所有元素的最大值,传axis参数可指定维度。
import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('=======a.sum()===========')
print(a.sum())
print('=======a.sum(axis=1)===========')
print(a.sum(axis=1))
print('=======a.min()===========')
print(a.min())
print('=======a.min(axis=1)===========')
print(a.min(axis=1))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值