据我所知,这不是一个重复的问题。我将在下面列出相关但不同的问题。
下面是我试图运行的代码,将一个int数组转换为二进制,作为一个单一的矢量化操作:
import numpy as np
a = np.array([1,2,3,4],dtype=int)
b = bin(a)
----> 4 b = bin(a)
TypeError: only integer scalar arrays can be converted to a scalar index
...嗯...我实际上是在一个“整数标量数组”上操作。(并且将dtype=int
更改为类似于dtype=np.int64
没有效果。)
我意识到可以通过循环(Python 2问题)或列表理解来做到这一点(我知道bin
产生字符串),所以...这篇文章更多的是一个问题:为什么我不能作为一个单一的矢量化操作来做为什么是错误消息?在这种情况下似乎很不合适。有什么想法吗?
相关但非重复的问题:这里,这里,这里,这里,这里。
bin的文档显示为“转换整数......”这表明数组是不允许的,它是一个Python函数,而不是Numpy函数。(好的,然后列出理解或循环——这些似乎很慢,我希望是快速的)。但是,为什么整数标量数组的错误消息?
谢谢
您需要将函数映射到numpy数组的每个元素-
import numpy as np
a = np.array([1,2,3,4],dtype=int)
b = np.array(list(map(bin,a)))
此外,您还可以查看此链接—将函数映射到numpy数组的最有效方法
我是相当新的python/Numpy和不完全意识到它。 我一直试图实现一个算法,并在某一点上卡住了,当试图把数组的点积与其转置。我得到的错误是 TypeError:只能将整数标量数组转换为标量索引。 下面是我的代码,供参考。
尝试在包含279个文件的数据集上执行Kfold cv时,执行k-means后,文件的形状为。我对它进行了重塑,以使其适合svm。现在形状是。尝试Kfold cv方法会给我带来错误 msgstr"只有整数标量数组可以转换为标量索引"
我看到的代码是: 不同变量的值是: ID: 欠条: 阈值:
我为这个问题制作了两个数组的简单示例:是一个一维数组,索引处有标签,对应于nD数组的相同索引。我获取标签2出现的所有索引,并希望检索中的值。 因此,如果我想要标签2,我得到索引0和3,这应该给我相应数组中索引0和3的值。 但是当我想调用我的函数时,我收到一个TypeError@。 我的职能:
我想计算每小时重复的行数。 我的数据帧: 我的代码:我尝试按小时对数据进行分组并计数。转换没有帮助。 这就是错误: 这是我想要的输出:
问题内容: 为了将整数转换为二进制,我使用了以下代码: 什么时候擦除“ 0b”,我用这个: 我能做些什么,如果我想展现的,而不是? 问题答案: 仅说明格式化字符串的部分: 将变量放入字符串 将变量放在参数位置0 为该变量添加格式设置选项(否则它将代表小数) 将数字格式化为左侧零填充的八位数字 将数字转换为其二进制表示形式 如果您使用的是Python 3.6或更高版本,则还可以使用f字符串: