默认情况下,Python 有以下数据类型:
strings
- 用于表示文本数据,文本在引号下给出。例如"ABCD"integer
- 用于表示整数。例如-1、-2、-3float
- 用于表示实数。例如1.2、42.42boolean
- 用于表示 True 或 False。complex
- 用于表示复数。例如 1.0 + 2.0j、1.5 + 2.5jNumPy 有一些额外的数据类型,指的是只有一个字符的数据类型,例如i
对于整数,u
对于无符号整数等
下面是 NumPy 中所有数据类型以及用于表示它们的字符的列表。
i
- 整数b
- 布尔值u
- 无符号整数f
- 漂浮c
- 复杂的浮动m
- 时间增量M
- 约会时间O
- 目的S
- 字符串U
- 统一码字符串V
- 修复了其他类型的内存块(void)NumPy 数组对象有一个名为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)
亲自试一试 »
为了i
,u
,f
,S
和U
我们也可以定义尺寸。
创建数据类型为 4 字节整数的数组:
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)
亲自试一试 »
如果给定的类型中的元素无法进行强制转换,则 NumPy 将引发 ValueError。
值错误:在 Python 中,当传递给函数的参数类型意外/不正确时,会引发 ValueError。
像 'a' 这样的非整数字符串不能转换为整数(会引发错误):
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
亲自试一试 »
更改现有数组的数据类型的最佳方法是使用以下命令创建数组的副本astype()
方法。
这个astype()
函数创建数组的副本,并允许您指定数据类型作为参数。
可以使用字符串指定数据类型,例如'f'
对于浮动,'i'
对于整数等,或者您可以直接使用数据类型,例如float
用于浮动和int
为整数。
使用以下命令将数据类型从浮点更改为整数'i'
作为参数值:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
亲自试一试 »
使用以下命令将数据类型从浮点更改为整数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)
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!