xtup = np.random.normal(92725500, scale=1, size=100),
print(xtup)
(array([92725499.6057292 , 92725500.93153155, 92725498.27913634, 92725498.59134175]))
xtup = list(map('{:.0f}'.format,xtup))
当我运行上面的代码时,我得到了下面的numpy数组格式错误。
TypeError: unsupported format string passed to numpy.ndarray.__format__
发布于 2021-07-14 03:48:07
In [274]: xtup = np.random.normal(92725500, scale=1, size=3),
In [275]: xtup
Out[275]: (array([92725501.65265064, 92725500.49281569, 92725498.95281461]),)
In [276]: list(map('{:.0f}'.format,xtup))
Traceback (most recent call last):
File "<ipython-input-276-cbe978a45009>", line 1, in <module>
list(map('{:.0f}'.format,xtup))
TypeError: unsupported format string passed to numpy.ndarray.__format__
但是如果我从元组中提取数组:
In [277]: list(map('{:.0f}'.format,xtup[0]))
Out[277]: ['92725502', '92725500', '92725499']
该格式字符串不能用于格式化数组;它只能格式化数字,如数字数组的元素。
我本想指出逗号创建了一个元组,但是名称xtup
表明您已经意识到了这一点。
发布于 2021-07-14 03:21:07
我不确定你是从哪里得到这个错误的,但是当我运行你的代码时,它没有任何问题。
我得到了这个结果
['92725500', '92725499', ..., '92725501']
你使用的是什么版本的numpy?这可能就是问题所在。我使用的是numpy 1.19.3。如果您不确定,可以使用np.version.version
来找出答案。
https://stackoverflow.com/questions/68368218
复制相似问题