这与其他问题不同,例如Store different datatypes in one NumPy array?。我看不到“可能重复的问题”中的矩阵。这个问题看起来不像一个矩阵。你知道吗
我对改变矩阵中的特定数据类型感兴趣。你知道吗
我想有一个混合数据类型的矩阵。我想改变单个列的数据类型:我将用原始矩阵来说明我想做什么。原始矩阵的类型为float64。你知道吗
mymatrix
array([[17. , 27. , 19.62120627, 21. , 0. ],
[10. , 1. , 18.94042755, 0. , 0. ],
[11. , 53. , 13.96885424, 29. , 0. ],
[ 8. , 1. , 19.36688898, 0. , 1. ],
[ 8. , 44. , 19.26500703, 29. , 1. ],
[16. , 2. , 27.31823044, 0. , 1. ]])
但是我希望每个列的类型不同:i2,i2,f8,i2,?也就是说,矩阵中的列的类型是int16、int16、float64、int16和binary。你知道吗
请参阅参考资料一半向下https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html。另外,建议的答案Store different datatypes in one NumPy array?与我的需要无关。你知道吗
例如: 我有原始矩阵的第一行
array([[17. , 27. , 19.62120627, 21. , 0. ]
但我想
array([[17,27,19.62120627,21, False]
这是我的列分别是:i2,i2,f8,i2?也就是说,我希望我的整个矩阵如上图所示有int16,int16,float64,int16和binary类型的列。你知道吗
回想一下,引用是半路向下的参见引用半路向下https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html
Sum:如何将单个列更改为特定的数据类型?你知道吗
Python更改矩阵/数组中的单个数据类型-例如int、float、binary
这比我问的问题好。它解决了一个人是否可以在矩阵中有不同类型的数据。你知道吗
你可以,但不能直接作为一个矩阵。你知道吗
最初,数据是一个包含整数、浮点和布尔类型的列表,如下所示:
假设我想选择第一列或最后一列,例如以下两个示例:
以及
如果列表执行相应的操作,则无法做到这一点:
或者
如果将mylist转换为myarray,则会得到统一的转换:
请注意,所有整数都转换为浮点,所有布尔值都转换为浮点1和零。你知道吗
可以提取列
此外,如果您试图通过单独设置列来将列表转换为数组,则会得到奇怪的输出:
对dtype=https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html的引用 举例说明,虽然没有错误消息。但我确实得到了这种莫名其妙的结果 以下是摘录:
但是,我仍然需要不同数据类型的变量,但是像数组一样处理它。你知道吗
受TypeError: 'zip' object is not subscriptable想法的启发,我能够提取“类似列”的内容,但并不完全像从矩阵中获取列,我可以从列表中获取列。你知道吗
当然,如果使用数组,那么数组的特定列将作为myarray[:,0]和myarray[:,4]进行访问,而不是相应的mylist2[0]和mylist2[4]。你知道吗
如果任何函数或过程需要数组而不是列表,则可以通过以下方式将选定列转换为数组:
结论:虽然矩阵中不能有不同的数据类型,但可以在列表中使用不同的数据类型,但可以列出一个压缩的*列表。访问特定列的方法是使用[col no-1]而不是像jt那样使用[:,col no-1],如果数据结构是矩阵/数组的话。你知道吗
当特定“列”的结果提取产生列表/元组时,如果函数需要数组而不是列表/元组,则需要将列表/元组转换为数组。你知道吗
谢谢你
安东尼来自阳光明媚的悉尼
相关问题 更多 >
编程相关推荐