我编写了一个脚本,它给了我两个变量的分割结果(" A"和#34; B") - 每个变量的输出都是numpy数组有26个元素。通常,使用" A"中的任何两个元素。和" B,"操作的结果是一个浮点数,输出数组中与该操作对应的元素显示为浮点数。但奇怪的是,即使输出应该是一个整数(几乎总是0或1),整数也会显示为" 0。"或" 1。"在输出数组中。有没有办法将数组的这些特定元素转换回整数,而不是将它们保留为浮点数?
我想编写一个简单的if语句,它将假设的任何输出元素转换为整数(即make" 0。&#34进入" 0")。但我遇到了一些麻烦。有什么想法吗?
答案 0 :(得分:2)
您可能希望阅读有关数据类型的信息: http://docs.scipy.org/doc/numpy/user/basics.types.html
整个numpy数组具有数据类型。对于你正在进行的操作,要求A / B有时是整数而有时是浮点是没有意义的:两个浮点数组的划分是一个浮点数组。
复杂:可以指定混合类型数组: http://docs.scipy.org/doc/numpy/user/basics.rec.html#structured-arrays
答案 1 :(得分:1)
Numpy数组的优势在于可以对数据快速执行许多低级操作,因为这些数组使用的大多数(非全部)类型在内存中具有固定大小。例如,您使用的浮动每个可能需要8个字节。 在这种情况下最重要的是所有数据共享相同的类型并适合相同数量的内存。如果你真的想要(和需要),你可以玩一点,但我不建议你从这种特殊情况开始。在使用此要求时尝试了解这些数组的强度(但这涉及接受不能在同一数组中混合整数和浮点数的事实)。