Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python3中将map对象转换为numpy ndarray_Python 3.x_Numpy_Multidimensional Array - Fatal编程技术网

Python 3.x 在python3中将map对象转换为numpy ndarray

Python 3.x 在python3中将map对象转换为numpy ndarray,python-3.x,numpy,multidimensional-array,Python 3.x,Numpy,Multidimensional Array,下面的代码在python2中运行良好,但在迁移到python3之后,它就不起作用了。 如何在python3中更改此代码 for i, idx in enumerate(indices): user_id, item_id = idx feature_seq = np.array(map(lambda x: user_id, item_id)) X[i, :len(item_id), :] = feature_seq # ---- error here ----

下面的代码在python2中运行良好,但在迁移到python3之后,它就不起作用了。 如何在python3中更改此代码

for i, idx in enumerate(indices):
    user_id, item_id = idx 
    feature_seq = np.array(map(lambda x: user_id, item_id))  
    X[i, :len(item_id), :] = feature_seq  # ---- error here ---- 
错误:

TypeError: int() argument must be a string, a bytes-like object or a number, not 'map'

多谢各位

在PY3中,
map
就像一个生成器。您需要将其包装在
list()
中,以生成
np.array
可以使用的列表:例如

 np.array(list(map(...)))

在python3中,Map返回一个迭代器,而不是一个列表。 您还可以尝试从map obj获取数组,仅用于一维数据

例如:

a=map(lambda x:x,range(10))
b=np.fromiter(a,dtype=np.int)
b
输出:

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

对于
多维数组
,请参考PY3中的,
映射
就像一个生成器,您需要将其包装在
list()
中,以生成
np.array
可以使用的列表:例如
np.array(list(map(…))
。非常感谢!!可能重复的