python - 如何将 numpy 数组乘以标量

标签 python arrays numpy scalar

我有一个 numpy 数组,我试图将它乘以一个标量,但它一直抛出错误:

TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'int'

我的代码是:

Flux140 = ['0.958900', 'null', '0.534400']
n = Flux140*3

最佳答案

问题是你的数组的 dtype 是一个字符串,而 numpy 不知道你想如何将一个字符串乘以一个整数。如果它是一个列表,你会重复这个列表三次,但数组会给你一个错误。

尝试使用 astype 方法将数组的 dtype 从字符串转换为 float 。在您的情况下,您的 'null' 值会遇到问题,因此您必须首先将 'null' 转换为其他值:

Flux140[Flux140 == 'null'] = '-1'

然后你可以使类型 float :

Flux140 = Flux140.astype(float)

如果您希望您的 'null' 是其他内容,您可以先更改它:

Flux140[Flux140 == -1] = np.nan

现在你可以乘法了:

tripled = Flux140 * 3

关于python - 如何将 numpy 数组乘以标量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17729297/

相关文章:

ios - coredata 获取数组元素

python - 将从一个函数返回的多个一维数组组合成一个二维数组python

python - 除了 to_pickle 之外,序列化 DataFrame 最快的方法是什么?

python - 用 Python 实现的可移植命令执行语法

python - 一旦玩家达到 Python 游戏的设定时间,如何停止程序

c++ - v8:对象数组

python - 通过最近邻平铺对 numpy 数组进行上采样的快速方法

python - 删除数组中的特定列

Python 类型错误 : 'NoneType' object has no attribute '__getitem__' for Google Search

python - 将 numpy 数组作为文件存储和加载