Python/numpy data types

来自菜鸟教程
跳转至:导航、​搜索

<languages />

NumPy数据类型

Python中的数据类型

默认情况下,Python具有以下数据类型:

  • strings -用于表示文本数据,文本在引号下给出。eg.“A B C D”
  • integer -用于表示整数。eg.-1,-2,-3
  • float -用于表示实数。eg.1.2、42.42
  • boolean -用于表示对或错。
  • complex -用于表示复杂平原中的数字。eg.1.0 + 2.0j,1.5 + 2.5j

NumPy中的数据类型

NumPy有一些额外的数据类型,并且引用一个字符的数据类型,例如 i 对于整数, u 用于无符号整数等。

以下是NumPy中所有数据类型的列表以及用于表示它们的字符。

  • i - 整数
  • b -布尔值
  • u -无符号整数
  • f -浮动
  • c -复杂的浮动
  • m -timedelta
  • M - 约会时间
  • 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)