Use*_*ser 93 python loops numpy
假设我有和mxn数组.我想将此数组的每一列传递给一个函数,以对整个列执行某些操作.如何迭代数组的列?
例如,我有一个4 x 3阵列
1 99 2
2 14 5
3 12 7
4 43 1
for column in array:
some_function(column)
Run Code Online (Sandbox Code Playgroud)
其中列在第一次迭代中为"1,2,3,4",第二次为"99,14,12,43",第三次为"2,5,7,1".
til*_*ten 194
只需遍历数组的转置:
for column in array.T:
some_function(column)
Run Code Online (Sandbox Code Playgroud)
Abh*_*jit 13
这应该给你一个开始
>>> for col in range(arr.shape[1]):
some_function(arr[:,col])
[1 2 3 4]
[99 14 12 43]
[2 5 7 1]
Run Code Online (Sandbox Code Playgroud)
小智 6
对于三维数组,您可以尝试:
for c in array.transpose(1, 0, 2):
do_stuff(c)
Run Code Online (Sandbox Code Playgroud)
请参阅有关如何array.transpose工作的文档。基本上,您是在指定要移动的维度。在这种情况下,我们将第二维(例如列)转移到第一维。
小智 5
for c in np.hsplit(array, array.shape[1]):
some_fun(c)
Run Code Online (Sandbox Code Playgroud)
小智 5
您还可以使用 unzip 来遍历列
for col in zip(*array):
some_function(col)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95117 次 |
| 最近记录: |