数组基础
导入 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)
|