我有一个数组(numpy)但是当我运行程序本身时会生成错误
import numpy as np
from sklearn import preprocessing
Input_data = np.array([2.1, -1.9, 5.5],[-1.5, 2.4, 3.5],[0.5, -7.9, 5.6],[5.9, 2.3, -5.8])
data_binarized = preprocessing.Binarizer(threshold=0.5).transform(input_data
)
print("\nBinarized data:\n", data_binarized)
错误:
TypeError: array() takes from 1 to 2 positional arguments but 4 were given
我尝试删除方括号并重新排列它们,但没有成功。
你需要这样声明:
np.array([[2.1, -1.9, 5.5],[-1.5, 2.4, 3.5],[0.5, -7.9, 5.6],[5.9, 2.3, -5.8]])
数组数据需要“类似数组”,因此您必须像其他评论建议的那样将其放入列表中。这是 numpy 文档的链接https://numpy.org/doc/stable/reference/ generated/numpy.array.html.
一般来说,
arr = np.array([x1, x2, x3, ..., xn])
上面,x1 是您案例中的列表。
我在尝试时也遇到了同样的问题:
mymatrix = np.array(mylist, mylist, mylist)
最后方括号有所帮助。菜鸟错误:)
mymatrix = np.array([mylist, mylist, mylist])