Pau*_*ger 5 python arrays numpy
我有一个foo包含n行和m列的矩阵。例:
>>> import numpy as np
>>> foo = np.arange(6).reshape(3, 2) # n=3 and m=2 in our example
>>> print(foo)
array([[0, 1],
[2, 3],
[4, 5]])
Run Code Online (Sandbox Code Playgroud)
我有一个数组bar与n元素。例:
>>> bar = np.array([9, 8, 7])
Run Code Online (Sandbox Code Playgroud)
我有一个包含列索引ind的长度列表n。例:
>>> ind = np.array([0, 0, 1], dtype='i')
Run Code Online (Sandbox Code Playgroud)
我想使用列索引ind来将值赋给bar矩阵foo。我想每行执行一次。假设执行此操作的函数称为assign_function,我的输出将如下所示:
>>> assign_function(ind, bar, foo)
>>> print(foo)
array([[9, 1],
[8, 3],
[4, 7]])
Run Code Online (Sandbox Code Playgroud)
有pythonic的方法可以做到这一点吗?
由于ind处理第一个轴,您只需要第零轴的分度器。你可以很简单地做到这一点np.arange:
foo[np.arange(len(foo)), ind] = bar
foo
array([[9, 1],
[8, 3],
[4, 7]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
880 次 |
| 最近记录: |