gpt4 book ai didi

python - 更改 numpy 数组中特定值的数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:42 26 4
gpt4 key购买 nike

我有一个 numpy 数组 x,维度 = (20, 4),其中只有第一行和第一列是真正的字符串值(字母),其余值是数字,其类型分配为字符串。我想将这些数值更改为浮点型或整数型。

我已经尝试了一些步骤:

一个。我将数组的第一行和第一列复制为单独的变量:

x_row = x[0]
x_col = x[:,0]

然后从原始数组 x 中删除它们(使用 numpy.delete() 方法)并通过应用迭代每个值的 for 循环来转换剩余值的类型。但是,当我使用 numpy.vstack()numpy.hstack() 堆叠复制的行和列时,所有内容都会再次转换为字符串类型。所以,不确定为什么会这样。

与点 a 相同的过程,除了我使用 numpy.insert() 方法插入行和列,但做同样的事情 - 将所有内容转换回字符串类型。

那么,有没有一种方法可以让我不必通过这种删除和堆叠机制(无论如何都不起作用)并且我可以将数组的所有值(第一行和第一列除外)更改为int()float() 类型?

最佳答案

numpy 数组中的所有项都必须具有相同的数据类型。这是关于 numpy 的一个基本事实。您可以使用 numpy recarray,或者您可以使用 dtype=object,它基本上可以让所有值都是任何值。

我建议您看看 pandas ,它提供了一种表格数据结构,允许不同的列具有不同的类型。听起来您拥有的是一个带有行和列标签的表格,而这正是 pandas 处理得很好的地方。

关于python - 更改 numpy 数组中特定值的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com