文章目录
Python 拥有以下数据类型:
strings - 用于表示文本数据,文本用引号引起来。例如 “ABCD”。
integer - 用于表示整数。例如 -1, -2, -3。
float - 用于表示实数。例如 1.2, 42.42。
boolean - 用于表示 True 或 False。
complex - 用于表示复平面中的数字。例如 1.0 + 2.0j,1.5 + 2.5j。
NumPy 中的数据类型
NumPy 有一些额外的数据类型,并通过一个字符引用数据类型
i - 整数
b - 布尔
u - 无符号整数
f - 浮点
c - 复合浮点数
m - timedelta
M - datetime
O - 对象
S - 字符串
U - unicode 字符串
V - 固定的其他类型的内存块 ( void )
#获取数组对象的数据类型:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
#int32
import numpy as np
#用数据类型字符串创建数组:
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)
[b'1' b'2' b'3' b'4']
|S1
#创建数据类型为 4 字节整数的数组:
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)
**astype() 函数创建数组的副本,**并允许您将数据类型指定为参数。
#将数据类型从整数更改为布尔值:
import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)
NumPy 数组副本 vs 视图
副本和数组视图之间的主要区别在于副本是一个新数组,而这个视图只是原始数组的视图。
对副本所做的任何更改都不会影响原始数组
对视图所做的任何更改都会影响原始数组
#打印 base 属性的值以检查数组是否拥有自己的数据:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
y = arr.view()
print(x.base)
print(y.base)
#None
#[1 2 3 4 5]
NumPy 数组重塑
将以下具有 12 个元素的 1-D 数组转换为 2-D 数组。
最外面的维度将有 4 个数组,每个数组包含 3 个元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
#重塑之后返回视图
newarr = arr.reshape(4, 3)
print(newarr)
展平数组:是指将多维数组转换为 1D 数组
我们可以使用 reshape(-1) 来做到这一点。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
newarr = arr.reshape(-1)
print(newarr