栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

TypeError:只有长1的数组可以转换为Python标量,而图显示

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TypeError:只有长1的数组可以转换为Python标量,而图显示

当函数需要单个值但您传递数组时,会出现错误“仅将length-1数组可以转换为Python标量”。

如果查看的呼叫签名

np.int
,您会看到它接受单个值,而不是数组。通常,如果要对数组中的每个元素应用一个接受单个元素的函数,则可以使用
np.vectorize

import numpy as npimport matplotlib.pyplot as pltdef f(x):    return np.int(x)f2 = np.vectorize(f)x = np.arange(1, 15.1, 0.1)plt.plot(x, f2(x))plt.show()

您可以跳过f(x)的定义,而只需将np.int传递给vectorize函数:

f2 = np.vectorize(np.int)

注意,这

np.vectorize
只是一个便利函数,基本上是for循环。在大型阵列上这将是低效的。每当你有可能,使用真正的矢量函数或方法(如
astype(int)
为@FFT建议。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号