深度学习(2) NumPy基础

关于Python

数组基础

导入 NumPy 时,通常给其一个别名“np”,即 import numpy as np
NumPy 库中的函数,要在函数名前加上导入的库名 np. 才能使用

数据类型

整数型数组与浮点型数组

为克服列表的缺点,一个 NumPy 数组只容纳一种数据类型,以节约内存。为方便起见,可将 NumPy 数组简单分为整数型数组与浮点型数组

1
2
3
4
5
6
7
import numpy as np
# 创建整数型数组
arr1 = np.array( [1, 2, 3] ) # 元素若都是整数,则为整数型数组
print(arr1)
# 创建浮点型数组
arr2 = np.array( [1.0, 2, 3] ) # 内含浮点数,则为浮点型数组
print(arr2)

注意,使用 print 输出 NumPy 数组后,元素之间没有逗号,这有两个好处,一是可以可将之与 Python 列表区分开来,二是避免逗号与小数点之间的混淆

同化定理

一个人的力量是无法改变全体的,在实际操作中要注意:
⚫ 往整数型数组里插入浮点数,该浮点数会自动被截断为整数
⚫ 往浮点型数组里插入整数,该整数会自动升级为浮点数

1
2
3
4
5
6
7
8
9
import numpy as np
# 整数型数组
arr1 = np.array( [1, 2, 3] )
arr1[0] = 100.9 # 插入浮点数,被截断,数组仍为整数型
print(arr1)
# 浮点型数组
arr2 = np.array( [1.0, 2, 3] )
arr2[1] = 10 # 插入整数型,被升级,数组仍为浮点型
print(arr2)

(3)共同改变定理 同化定理告诉我们,整数型数组和浮点型数组之间的界限十分严格,那么如何将这两种数据类型的数组进行相互转化呢?既然某一个人容易被集体所同化,那只要全体共同改变,自然就可以成功。
整数型数组和浮点型数组相互转换,规范的方法是使用 .astype( ) 方法。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np
# 整数型数组
arr1 = np.array( [1, 2, 3] )
print(arr1)
# 整数型数组 ——> 浮点型数组
arr2 = arr1.astype(float)
print(arr2)
# 浮点型数组 ——> 整数型数组
arr3 = arr2.astype(int)
print(arr3)
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy