рдкрд╛рдпрдерди рдореЗрдВ рдиреНрдпреВрдордкреАред рднрд╛рдЧ 3

рдЕрдиреБрд╡рд╛рджрдХ рдХреА рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрдХрд╛рд░! рд╕реБрдиреНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ред рдЕрдЪреНрдЫрд╛ рдкрдврд╝рд╛ рд╣реИред


рддреБрд▓рдирд╛ рд╕рдВрдЪрд╛рд▓рдХ рдФрд░ рдореВрд▓реНрдп рдкрд░реАрдХреНрд╖рдг


рдмреВрд▓рд┐рдпрди рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рддрддреНрд╡-рдЕрдиреБрдХреВрд▓ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдмреВрд▓рд┐рдпрди рдЯреНрд░реВ / рдЧрд▓рдд рдорд╛рди рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ:

>>> a = np.array([1, 3, 0], float) >>> b = np.array([0, 3, 2], float) >>> a > b array([ True, False, False], dtype=bool) >>> a == b array([False, True, False], dtype=bool) >>> a <= b array([False, True, True], dtype=bool) 

рддреБрд▓рдирд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 >>> c = a > b >>> c array([ True, False, False], dtype=bool) 

Arrays рдХреА рддреБрд▓рдирд╛ рдПрдХ рдорд╛рди рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 >>> a = np.array([1, 3, 0], float) >>> a > 2 array([False, True, False], dtype=bool) 

рдХрд┐рд╕реА рднреА рдФрд░ рд╕рднреА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреНрд░рдорд╢рдГ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдпрд╛ рд╕рднреА рддрддреНрд╡ рд╕рд╣реА рд╣реИрдВ:

 >>> c = np.array([ True, False, False], bool) >>> any(c) True >>> all(c) False 

рд╕рдВрдпреБрдХреНрдд рдмреВрд▓рд┐рдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рддрддреНрд╡-рджрд░-рддрддреНрд╡ рдЖрдзрд╛рд░ рдкрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд╛рд░реНрдХрд┐рдХ_рдФрд░, рддрд╛рд░реНрдХрд┐рдХ_ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ_рдиреЛрдЯ:

 >>> a = np.array([1, 3, 0], float) >>> np.logical_and(a > 0, a < 3) array([ True, False, False], dtype=bool) >>> b = np.array([True, False, True], bool) >>> np.logical_not(b) array([False, True, False], dtype=bool) >>> c = np.array([False, True, False], bool) >>> np.logical_or(b, c) array([ True, True, False], dtype=bool) 

рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рджреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреВрд▓рд┐рдпрди рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рд▓рдВрдмрд╛рдИ рдХреЗ рджреЛ рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рд╕реЗ рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИред рдореВрд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕: рдЬрд╣рд╛рдВ (рдмреБрд▓рд╛рд░реНрд░реЗ,
рдЯреНрд░рд┐рдпрд░рд┐рдпрд░, рдорд┐рдереНрдпрд╛рдЪрд╛рд░):

 >>> a = np.array([1, 3, 0], float) >>> np.where(a != 0, 1 / a, a) array([ 1. , 0.33333333, 0. ]) 

рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рд╕рд╛рдореВрд╣рд┐рдХ рддреБрд▓рдирд╛ рднреА рд▓рд╛рдЧреВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 >>> np.where(a > 0, 3, 2) array([3, 3, 2]) 

рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдорд╛рдиреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рдиреЙрдирдЬрд╝реЗрд░реЛ рдлрд╝рдВрдХреНрд╢рди рдиреЙрдирдЬрд╝рд░реЛ рдорд╛рдиреЛрдВ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХрд╛ рдПрдХ рдЯрдкрд▓ рджреЗрддрд╛ рд╣реИред рдЯрдкрд▓ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рд░рдгреА рдореЗрдВ рдЕрдХреНрд╖реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:

 >>> a = np.array([[0, 1], [3, 0]], float) >>> a.nonzero() (array([0, 1]), array([1, 0])) 

рдЖрдк рдкрд░рд┐рдорд┐рддрддрд╛ рдФрд░ NaN (рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП рдорд╛рди рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 >>> a = np.array([1, np.NaN, np.Inf], float) >>> a array([ 1., NaN, Inf]) >>> np.isnan(a) array([False, True, False], dtype=bool) >>> np.isfinite(a) array([ True, False, False], dtype=bool) 

рдпрджреНрдпрдкрд┐ рд╣рдордиреЗ NaN рдФрд░ рдЕрдирдВрдд рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЦрд╕реНрддрд╛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд╡реЗ рдорд╛рдирдХ рдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдФрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛


рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ, рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд░рдгрд┐рдпрд╛рдБ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдмрд╕реЗрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмреБрд▓рд┐рдпрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 >>> a = np.array([[6, 4], [5, 9]], float) >>> a >= 6 array([[ True, False], [False, True]], dtype=bool) >>> a[a >= 6] array([ 6., 9.]) 

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдмреВрд▓рд┐рдпрди рдПрд░реЗ> рдП = 6 рдХреЛ рдПрд░реЗ рдХреЗ рдПрдХреНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрд░реЗ рд▓реМрдЯреЗ рд╕рд░рдгреА рдХреЗрд╡рд▓ рдЯреНрд░реВ рд╡реИрд▓реНрдпреВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдЧрд╛ред рд╣рдо рдПрдХ рдЪрд░ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 >>> a = np.array([[6, 4], [5, 9]], float) >>> sel = (a >= 6) >>> a[sel] array([ 6., 9.]) 

рдмреВрд▓рд┐рдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 >>> a[np.logical_and(a > 5, a < 9)] >>> array([ 6.]) 

рдмреВрд▓рд┐рдпрди рдЪрдпрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдкреВрд░реНрдгрд╛рдВрдХ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреВрд░реНрдгрд╛рдВрдХ рд╕рд░рдгреА рд╕рд░рдгреА рд╕реЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдЖрдпрд╛рдореА рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 >>> a = np.array([2, 4, 6, 8], float) >>> b = np.array([0, 0, 1, 3, 2, 1], int) >>> a[b] array([ 2., 2., 4., 8., 6., 4.]) 

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЬрдм рд╣рдо a рд╕реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП b рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рдХреНрд░рдо рдореЗрдВ 0th, 0th, 1st, 3rd, 2nd рдФрд░ 1st elements рд▓реЗрддреЗ рд╣реИрдВред рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 >>> a = np.array([2, 4, 6, 8], float) >>> a[[0, 0, 1, 3, 2, 1]] array([ 2., 2., 4., 8., 6., 4.]) 

рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рдСрдкрд░реЗрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ ( рдиреЛрдЯ рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░: рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрдбреЗрдХреНрд╕ рдПрд░реЗрд╕ рд╣реИрдВ ) рдореЗрдВ рдХрдИ рдПрдХ рдЖрдпрд╛рдореА рдкреВрд░реНрдгрд╛рдВрдХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдРрд░реЗ рдирд┐рдореНрди рдХреНрд░рдо рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ: рдкрд╣рд▓рд╛ рддрддреНрд╡ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдП рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣реИ рдмреА, рджреВрд╕рд░рд╛ рддрддреНрд╡ рдХреЙрд▓рдо рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрд░реЗ рд╕реА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред ( рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдкрд╣рд▓рд╛ рд╕рд░рдгреА [2, 2] рдФрд░ рджреВрд╕рд░рд╛ [1, 4], рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ [2, 1] рдФрд░ [2, 4] рдХреЗ рддрддреНрд╡ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:

 >>> a = np.array([[1, 4], [9, 16]], float) >>> b = np.array([0, 0, 1, 1, 0], int) >>> c = np.array([0, 1, 1, 1, 1], int) >>> a[b,c] array([ 1., 4., 16., 16., 4.]) 

рдкреВрд░реНрдгрд╛рдВрдХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреЗрдХ рдлрдВрдХреНрд╢рди рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдЯреЗрдХ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ:

 >>> a = np.array([2, 4, 6, 8], float) >>> b = np.array([0, 0, 1, 3, 2, 1], int) >>> a.take(b) array([ 2., 2., 4., 8., 6., 4.]) 

рдЯреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгреА рдХрд╛ рдПрдХ рдЙрдкрдзрд╛рд░рд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖ рддрд░реНрдХ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред ( рдиреЛрдЯ рдЕрдиреБрд╡рд╛рджрдХ: рдкрдВрдХреНрддрд┐ рдпрд╛ рд╕реНрддрдВрдн (рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП) )ред

 >>> a = np.array([[0, 1], [2, 3]], float) >>> b = np.array([0, 0, 1], int) >>> a.take(b, axis=0) array([[ 0., 1.], [ 0., 1.], [ 2., 3.]]) >>> a.take(b, axis=1) array([[ 0., 0., 1.], [ 2., 2., 3.]]) 

рдЯреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдореВрд▓ рд╕рд░рдгреА рд╕реЗ рдорд╛рди рд▓реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рдкреБрдЯ-рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦ рджреЗрдЧрд╛ред

 >>> a = np.array([0, 1, 2, 3, 4, 5], float) >>> b = np.array([9, 8, 7], float) >>> a.put([0, 3], b) >>> a array([ 9., 1., 2., 8., 4., 5.]) 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореВрд▓ рд╕рд░рдгреА b рд╕реЗ 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ 2 рдЗрдВрдбреЗрдХреНрд╕ [0, 3] рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдпрджрд┐ рд▓рдВрдмрд╛рдИ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдореВрд▓ рд╕рд░рдгреА рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдПрдЧреА:

 >>> a = np.array([0, 1, 2, 3, 4, 5], float) >>> a.put([0, 3], 5) >>> a array([ 5., 1., 2., 5., 4., 5.]) 

рд╡реЗрдХреНрдЯрд░ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧрдгрд┐рдд


NumPy рд╡реИрдХреНрдЯрд░ рдФрд░ рдореИрдЯреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдбреЙрдЯ рдлрд╝рдВрдХреНрд╢рди рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕реНрдХреЗрд▓рд░ рдЙрддреНрдкрд╛рдж рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

 >>> a = np.array([1, 2, 3], float) >>> b = np.array([0, 1, 1], float) >>> np.dot(a, b) 5.0 

рдбреЙрдЯ рдлрд╝рдВрдХреНрд╢рди рднреА рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЛ рдЧреБрдгрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

 >>> a = np.array([[0, 1], [2, 3]], float) >>> b = np.array([2, 3], float) >>> c = np.array([[1, 1], [4, 0]], float) >>> a array([[ 0., 1.], [ 2., 3.]]) >>> np.dot(b, a) array([ 6., 11.]) >>> np.dot(a, b) array([ 3., 13.]) >>> np.dot(a, c) array([[ 4., 0.], [ 14., 2.]]) >>> np.dot(c, a) array([[ 2., 4.], [ 0., 4.]]) 

рдЖрдк рдореИрдЯреНрд░рд┐рд╕ рдФрд░ рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕реНрдХреЗрд▓рд░, рдЯреЗрдВрд╕рд░ рдФрд░ рдмрд╛рд╣рд░реА рдЙрддреНрдкрд╛рдж рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡реИрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдФрд░ рд╕реНрдХреЗрд▓рд░ рдЙрддреНрдкрд╛рдж рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

 >>> a = np.array([1, 4, 0], float) >>> b = np.array([2, 2, 1], float) >>> np.outer(a, b) array([[ 2., 2., 1.], [ 8., 8., 4.], [ 0., 0., 0.]]) >>> np.inner(a, b) 10.0 >>> np.cross(a, b) array([ 4., -1., -6.]) 

NumPy рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдм linalg рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рдореЙрдбреНрдпреВрд▓ рдкрддрд┐рдд рдФрд░ рдЧреИрд░-рдкрддрд┐рдд рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдХ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 >>> a = np.array([[4, 2, 0], [9, 3, 7], [1, 2, 1]], float) >>> a array([[ 4., 2., 0.], [ 9., 3., 7.], [ 1., 2., 1.]]) >>> np.linalg.det(a) -48. 

рдЖрдк рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЖрдЗрдЧреЗрдирд╡реЗрдХреНрдЯрд░ рдФрд░ рдИрдЬреЗрдиреНрдпреВрдПрд▓ рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 >>> vals, vecs = np.linalg.eig(a) >>> vals array([ 9. , 2.44948974, -2.44948974]) >>> vecs array([[-0.3538921 , -0.56786837, 0.27843404], [-0.88473024, 0.44024287, -0.89787873], [-0.30333608, 0.69549388, 0.34101066]]) 

рдПрдХ рдЧреИрд░-рдЕрдз: рдкрддрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 >>> b = np.linalg.inv(a) >>> b array([[ 0.14814815, 0.07407407, -0.25925926], [ 0.2037037 , -0.14814815, 0.51851852], [-0.27777778, 0.11111111, 0.11111111]]) >>> np.dot(a, b) array([[ 1.00000000e+00, 5.55111512e-17, 2.22044605e-16], [ 0.00000000e+00, 1.00000000e+00, 5.55111512e-16], [ 1.11022302e-16, 0.00000000e+00, 1.00000000e+00]]) 

рдПрдХ рдПрдХрд▓ рдЕрдкрдШрдЯрди (рдПрдХ рдЧреИрд░-рд╡рд░реНрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╡рд┐рдХрд░реНрдг рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ) рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 >>> a = np.array([[1, 3,4], [5, 2, 3]], float) >>> U, s, Vh = np.linalg.svd(a) >>> U array([[-0.6113829 , -0.79133492], [-0.79133492, 0.6113829 ]]) >>> s array([ 7.46791327, 2.86884495]) >>> Vh array([[-0.61169129, -0.45753324, -0.64536587], [ 0.78971838, -0.40129005, -0.46401635], [-0.046676 , -0.79349205, 0.60678804]]) 

рд╣рдо рддреАрд╕рд░рд╛ рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЧреБрдб рд▓рдХ рдФрд░ рдЬрд▓реНрдж рд╣реА рдорд┐рд▓рддреЗ рд╣реИрдВ!

Source: https://habr.com/ru/post/hi413381/


All Articles