Numpy学习笔记(Python)Part.I

本文介绍了NumPy库的基础知识,包括如何创建数组、数组的切片以及各种属性。通过实例展示了数组的维度、基本操作符、特殊运算符如sum()、min()、max()等。此外,还探讨了花式索引、布尔屏蔽和where函数的使用,帮助读者深入理解NumPy数组的高级操作。
摘要由CSDN通过智能技术生成

 

创建一个数组

a = np.array([1,3,1,4,5,2,1])

print(a) [1 3 1 4 5 2 1] == 》 [1 3 1 4 5 2 1]

 

b = np.array((1,3,1,4,5,2,1))

print(b) ==》 [1 3 1 4 5 2 1]

 

c = np.arange(x)

print(c) == 》 [0 1 2 3 …… x-1]

 

np.arange(Start , End , Num)

== 》 创建一个以“Start”为起始,“End“为结尾的有“Num”个数的数组

 

d = np.linspace(Start , End , Num)

== 》 创建一个以“Start”为起始,“End“为结尾的有“Num”个数的数组

 

数组的维度

2D(二维)数组:列表的列表(或者是一个序列的序列)

3D(三维)数组:列表的列表的列表

4D(四维)数组:列表的列表的列表的列表

以此类推……

 

数组的切片

print(a[行,列])  对2D数组进行切片

print(a[0, 1:4]) # >>>[12 13 14]
print(a[1:4, 0]) # >>>[16 21 26]
print(a[::2,::2]) # >>>[[11 13 15]
                  #     [21 23 25]
                  #     [31 33 35]]
print(a[:, 1]) # >>>[12 17 22 27 32]

0830a47de15c65d2645234378604ee77.png

 

数组的各种属性

首先定义数组a

print(type(a))

== 》 返回数组a的类型

print(a.shape)

== 》返回数组a的形状,即行与列的数量

print(a.itemsize)
== 》 返回数组a每个项所占用的字节数

print(a.ndim)

== 》 返回数组a的维度数

print(a.nbytes)

== 》 返回数组a中所有数据消耗掉的字节数

 

数组的使用

基本操作符

使用“+”,“-”,“*”,“/”;来对数组进行四则运算,这些操作符都是对数组进行逐元素运算。

它将每一个元素进行配对,然后对它们进行运算,返回结果为一个数组。

而使用“>”,“<”的时候,返回的将是一个布尔型数组

dot()函数用于计算两个数组的点积,它的返回值是一个标量,而非一个数组。

数组的点积计算方法:

26e3414246b0ece0ae4717b24f0d9d72.png

 数组特殊运算符

a.sum()

==》将数组a中的所有元素相加

a.min()

==》返回数组a的最小元素

a.max()

==》 返回数组a中的最大元素

 

索引进阶

花式索引

# Fancy indexing
a = np.arange(0, 100, 10)
indices = [1, 5, -1]
b = a[indices]
print(a)
# ==》 [ 0 10 20 30 40 50 60 70 80 90]
print(b)
# ==》 [10 50 90]

布尔屏蔽

布尔屏蔽可以根据我们指定的条件检索数组中的元素

import numpy as np
import matplotlib.pyplot as plt
a = np.linspace(0, 1 , 50)
b = np.cos(a)
plt.plot(a,b)
mask = b >= 0.3
plt.plot(a[mask], b[mask], 'r')
mask = (b >= 0.3) & (a <= 0.5)
plt.plot(a[mask], b[mask], 'g')
plt.show()

运行结果如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBALuaFlembqA==,size_20,color_FFFFFF,t_70,g_se,x_16

 缺省索引

a = arange(0,100,10)
b -a[a >= 50]

print(b)
# ==》 [50 60 70 80 90]

Where函数

Where函数用于返回数组中的值,返回值为一个列表。

a = np.arange(0,100,10)
b = np.where(a < 50)
c = np.where(a >= 50)[0]

print(b)
# ==》 (array([0, 1, 2, 3, 4], dtype=int64),)
print(c)
# ==》 [5 6 7 8 9]

(部分素材取自Numpy中文网)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值