Python/numpy data types
<languages />
NumPy数据类型
Python中的数据类型
默认情况下,Python具有以下数据类型:
strings
-用于表示文本数据,文本在引号下给出。eg.“A B C D”integer
-用于表示整数。eg.-1,-2,-3float
-用于表示实数。eg.1.2、42.42boolean
-用于表示对或错。complex
-用于表示复杂平原中的数字。eg.1.0 + 2.0j,1.5 + 2.5j
NumPy中的数据类型
NumPy有一些额外的数据类型,并且引用一个字符的数据类型,例如
i
对于整数,
u
用于无符号整数等。
以下是NumPy中所有数据类型的列表以及用于表示它们的字符。
i
- 整数b
-布尔值u
-无符号整数f
-浮动c
-复杂的浮动m
-timedeltaM
- 约会时间O
-对象S
- 字符串U
-unicode字符串V
-固定其他类型的内存块(void)
检查数组的数据类型
NumPy数组对象具有一个称为的属性
dtype
返回数组的数据类型:
例
获取数组对象的数据类型:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
例
获取包含字符串的数组的数据类型:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
创建具有定义的数据类型的数组
我们使用
array()
函数创建数组,该函数可以采用可选参数:
dtype
这使我们能够定义数组元素的预期数据类型:
例
创建一个数据类型为字符串的数组:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
For
i
,
u
,
f
,
S
and
U
我们也可以定义尺寸。
例
创建一个数据类型为4字节整数的数组:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
如果无法转换值怎么办?
如果给出了不能强制转换元素的类型,则NumPy将引发ValueError。
ValueError: 在Python中,当传递给函数的参数的类型意外/不正确时,将引发ValueError。
例
不能将非整数字符串(例如“ a”)转换为整数(将引发错误):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
在现有阵列上转换数据类型
更改现有数组的数据类型的最佳方法是使用以下命令创建数组的副本:
astype()
方法。
The
astype()
函数创建数组的副本,并允许您将数据类型指定为参数。
数据类型可以使用字符串指定,例如
'f'
对于浮动
'i'
用于整数等或者您可以像这样直接使用数据类型
float
用于浮动和
int
对于整数。
例
通过使用将数据类型从float更改为integer
'i'
作为参数值:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
例
通过使用将数据类型从float更改为integer
int
作为参数值:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
例
将数据类型从整数更改为布尔值:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)