_рдореВрд▓ рдЯрд┐рдХрдЯ http://projects.scipy.org/numpy/ticket/1316 2009-12-07 рдХреЛ @mdboom рджреНрд╡рд╛рд░рд╛
рдпрд╣ рдПрдХ рд╕рдордЭрджрд╛рд░ рдСрдкрд░реЗрд╢рди рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
In [25]: x.max()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/wonkabar/data1/builds/betadrizzle/<ipython console> in <module>()
TypeError: cannot perform reduce with flexible type
In [26]: x.min()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/wonkabar/data1/builds/betadrizzle/<ipython console> in <module>()
TypeError: cannot perform reduce with flexible type
In [27]:
рдпрд╣ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ argmax
рдФрд░ argmin
рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ maximum.reduce
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
.max
рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, argmax
рдХреЗрд╡рд▓ рдПрдХ axis
рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдХреНрд╖ рдлреЗрд░рдмрджрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА , рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрди рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рд╕рдореЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдирдХрд▓ рдХрд░рдирд╛ред keepdims
рдФрд░ out
рднреА max
рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди argmax
ред рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ? 'рдПрд╕', 'рдпреВ' рдФрд░ 'рд╡реА'?
рдХреНрдпрд╛ рдпрд╣ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдПрдирдЖрд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ 9 рдпрд╣рд╛рдБ ?
In [1]: np.array([['dd', 'de', 'cc'], ['ae', 'be', 'hf']]).max(axis=0)
TypeError: cannot perform reduce with flexible type
@jondo рдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП (рд▓рдЧрднрдЧ 4 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд▓реЗрдХрд┐рди рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ), рд╣рд╛рдБред
рдбреЙ рдлреЗрд▓реНрдбрдореИрди рдХреА рд╢рд┐рдХрд╛рдпрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╡реНрдпрдХреНрдд рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╣ рдХрд╣рддреЗ рд╣реИрдВ, "рдЪреВрдВрдХрд┐ NumPy рдХреА .min() рдФрд░ .max() рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдФрд░ Python рдХреЗ min() рдФрд░ max() рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдИ рднреА рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ NumPy рдХреЗ .min() рдФрд░ .max() рддрд░реАрдХреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддрд╛рд░ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ [...]"
рдпрд╣рд╛рдБ рдПрдХ рджреГрд╖реНрдЯрд╛рдВрдд рд╣реИ:
import numpy as np
arr_str = np.array(["I'm", "Defying", "Gravity"]) #A wickedly simple array of strings
print(arr_str.max()) #raises "TypeError: cannot perform reduce with flexible type"
#Interestingly, when I just used a native Python list, the error for this line was: "AttributeError: 'list' object has no attribute 'max'"
print(max(arr_str)) #does not raise any kind of error and returns "I'm" no matter where it is in the array of strings above
#This code works as expected
arr_num = np.array([1,2,3,-1])
print(max(arr_num))
рдбреЙ. рдлреЗрд▓реНрдбрдореИрди рдХрд╛ рдореБрджреНрджрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛, рддрд╛рд░ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрддрдо () рдХреЗ рдмрдЬрд╛рдп .max () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд▓рдЪреАрд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рд╣рдо рд╕рд░рдгреА рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдзрд┐рдХрддрдо() рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ @charris рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛, рдХрд┐ .argmax() рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реЛрдЧрд╛: рдХреНрдпрд╛ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдЕрдзрд┐рдХрддрдо (рд╕реВрдЪреА) рдпрд╛ list.argmax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд┐ рдпрд╣ рдзреБрд░реА рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рдбрд╛рдЗрд╡рд┐рдВрдЧ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ @jaimefrio рд▓рд╛рдпрд╛?