Iterating over Numpy matrix rows to apply a function each?

前端 未结 3 1431
囚心锁ツ
囚心锁ツ 2020-12-02 09:27

I want to be able to iterate over the matrix to apply a function to each row. How can I do it for a Numpy matrix ?

3条回答
  •  日久生厌
    2020-12-02 09:38

    Here's my take if you want to try using multiprocesses to process each row of numpy array,

    from multiprocessing import Pool
    import numpy as np
    
    def my_function(x):
        pass     # do something and return something
    
    if __name__ == '__main__':    
        X = np.arange(6).reshape((3,2))
        pool = Pool(processes = 4)
        results = pool.map(my_function, map(lambda x: x, X))
        pool.close()
        pool.join()
    

    pool.map take in a function and an iterable.
    I used 'map' function to create an iterator over each rows of the array.
    Maybe there's a better to create the iterable though.

提交回复
热议问题