📅  最后修改于: 2023-12-03 14:46:12.260000             🧑  作者: Mango
在 Python 中,数据通常被存储在数组中,数组的数据类型(dtype)决定了数组中可以存储的数据类型。有时候,我们可能需要从数组中删除特定的数据类型。本篇介绍如何使用 Python 从数组中删除指定的数据类型。
import numpy as np
arr = np.array([1, 2, '3', 4, '5'])
arr = np.array([x for x in arr if not isinstance(x, str)])
在这个例子中,我们创建了一个包含整数和字符串的数组arr
。通过列表推导式,我们遍历数组中的每个元素,并判断是否为字符串类型。如果不是字符串类型,则保留该元素,最终得到一个新的数组,其中删除了字符串类型的元素。
上述代码输出的结果为:
[1 2 4]
import numpy as np
arr = np.array([1, 2, '3', 4, '5'])
arr = np.where(np.array(arr).dtype != np.dtype('S'), arr, None).astype(np.int)
在这个例子中,我们使用np.where()
方法来判断数组中每个元素的数据类型是否为字符串类型。如果是字符串类型,我们将其替换为None
,然后通过astype()
方法将剩余的非字符串元素转换为整数类型。
上述代码输出的结果为:
[1 2 4]
import numpy as np
arr = np.array([1, 2, '3', 4, '5'])
indexes = [i for i, x in enumerate(arr) if isinstance(x, str)]
arr = np.delete(arr, indexes)
在这个例子中,我们创建了一个包含整数和字符串的数组arr
。使用列表推导式和enumerate()
函数来获取所有字符串元素的索引,然后使用np.delete()
方法删除这些索引对应的元素。
上述代码输出的结果为:
[1 2 4]
以上是三种常见的从数组中删除指定数据类型的方法,根据实际情况选择合适的方法来处理数组中的数据类型删除需求。