Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
496 views
in Technique[技术] by (71.8m points)

python - Element-wise array maximum function in NumPy (more than two arrays)

I'm trying to return maximum values of multiple array in an element-wise comparison. For example:

A = array([0, 1, 2])
B = array([1, 0, 3])
C = array([3, 0, 4])

I want the resulting array to be array([3,1,4]).

I wanted to use numpy.maximum, but it is only good for two arrays. Is there a simple function for more than two arrays?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

With this setup:

>>> A = np.array([0,1,2])
>>> B = np.array([1,0,3])
>>> C = np.array([3,0,4])

You can either do:

>>> np.maximum.reduce([A,B,C])
array([3, 1, 4])

Or:

>>> np.vstack([A,B,C]).max(axis=0)
array([3, 1, 4])

I would go with the first option.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...