Chr*_*Joo 0 numpy multidimensional-array python-3.x
下面的代码在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 ----
Run Code Online (Sandbox Code Playgroud)
错误:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'map'
Run Code Online (Sandbox Code Playgroud)
谢谢你。
在 python3 中,Map 返回一个迭代器,而不是一个列表。您还可以尝试numpy.fromiter从地图 obj 中获取数组?仅用于一维数据。
例子:
a=map(lambda x:x,range(10))
b=np.fromiter(a,dtype=np.int)
b
Run Code Online (Sandbox Code Playgroud)
输出:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Run Code Online (Sandbox Code Playgroud)
对于multidimensional arrays,请参阅在 Python 中协调 np.fromiter 和多维数组
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |