有没有办法将numpy数组中元素的类型转换为写在单独字符串中的类型

Is there a way to cast the type of an element in a numpy array to a type that is written in a seperate string

提问人:Amichai Reznik 提问时间:6/17/2023 更新时间:6/17/2023 访问量:81

问:

我需要将numpy数组中元素的类型转换为另一个写在单独字符串中的类型(例如“int”)。我有一份作业要提交,这是问题之一。

我尝试使用“astype”方法将数组转换为类型“object”,然后再次使用“astype”将每个元素转换为所需的数据类型(事先不知道,但取决于用户输入),但你不能这样做,因为这些元素显然不再属于numpy类。 我也不能简单地将类型转换为所需的类型,因为数据类型仅在字符串中给出。 我现在无法发布代码,因为我删除了它,而且我只是在大约 20 分钟前才发现作业截止日期被推迟了,现在是晚上。

python 字符串 numpy 转换

评论

1赞 Frank Yellin 6/17/2023
Stack Overflow 不做功课。甚至是最后一刻的家庭作业。你试过什么?
0赞 hpaulj 6/17/2023
arr1 = arr.astype('int')是典型的选角说法。

答:

1赞 FunnyChef 6/17/2023 #1

您可以使用以下方法将 numpy 数组的元素转换为类型“object”:

import numpy as np

# Original array
arr = np.array([1, 2, 3, 4, 5])

# Data type string
type_string = "object"

# Casting the type
new_arr = arr.astype(type_string)

# Display the new array and its data type
print(new_arr)
print(new_arr.dtype)