在python中对多个列执行函数

时间:2015-07-16 10:51:50

标签: python python-3.x

我有一个包含30个试验(列)的数据数组,每个试验(列)256个数据点(行),并希望在每列上运行小波变换(需要1D数组),最终目的是获得平均系数。 30项试验。 有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

如果你有一个多维numpy数组,那么你可以使用for循环:

import numpy as np

A = np.array([[1,2,3], [4,5,6]])

# A is the matrix:  1 2 3
#                   4 5 6

for col in A.transpose():
    print("Column:", col)
    # Perform your wavelet transform here, you can save the
    # results to another multidimensional array.

这使您可以将每列作为一维数组访问。

输出:

Column:  [1 4]
Column:  [2 5]
Column:  [3 6]

如果您想访问行而不是列,请循环浏览A而不是A.transpose()