Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

NumPy 数据类型


Python 中的数据类型

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

  • 字符串 - 用于表示文本数据,文本用引号括起来。例如:"ABCD"
  • 整数 - 用于表示整数。例如:-1,-2,-3
  • 浮点数 - 用于表示实数。例如:1.2,42.42
  • 布尔值 - 用于表示 True 或 False。
  • 复数 - 用于表示复数。例如:1.0 + 2.0j,1.5 + 2.5j

NumPy 中的数据类型

NumPy 有一些额外的数据类型,并使用单个字符来表示它们,例如 i 表示整数,u 表示无符号整数等等。

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

  • i - 整数
  • b - 布尔值
  • u - 无符号整数
  • f - 浮点数
  • c - 复数
  • m - 时间间隔
  • 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)
自己尝试 »

对于 iufSU,我们也可以定义大小。

示例

创建一个数据类型为 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() 方法制作数组的副本。

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)
自己尝试 »


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.