рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Scipy рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рд╡реЗрдХреНрдЯрд░ рдФрд░ рдПрд░реЗ (рд░реЗрдЦреАрдп рдмреАрдЬрдЧрдгрд┐рдд)

рдПрдХ SciPy рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЬрд┐рд╕рдореЗрдВ рдЖрдк Python рдореЗрдВ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рд╕реАрдЦреЗрдВрдЧреЗ, NumPy рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЙрд╕ рдкрд░ рдлреЛрдХрд╕ рдХреЗ рд╕рд╛рдеред
┬╖ 15 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

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

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдВрдд рддрдХ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдФрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ!

рд╕рд╛рдордЧреНрд░реА


рднреВрдорд┐рдХрд╛

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

рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ рд╣реИ рдХрд┐ рдЖрдк, рдПрдХ (рдЙрджреАрдпрдорд╛рди) рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ, рдореБрдЭрд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ рдХрд┐ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдкрд╣реБрдБрдЪрдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВред

SciPy рдмрдирд╛рдо NumPy

DataCamp рдХреЗ NumPy рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рдЖрдкрдиреЗ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА Python рдореЗрдВ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЯреВрд▓реНрд╕ рдФрд░ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЧрдгрд┐рддреАрдп рдореЙрдбрд▓реЛрдВ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХ рдЯреВрд▓ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБ-рдЖрдпрд╛рдореА array рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ: рдпрд╣ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ arrays рдФрд░ matrices рдХреЛ рдХреБрд╢рд▓рддрд╛ рд╕реЗ compute рдХрд░рдиреЗ рджреЗрддреА рд╣реИред

рдЕрдм, SciPy рдореВрд▓рддрдГ NumPy рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рдпрд╣ рднреА рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЧрдгрд┐рддреАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ Python рдХреЗ NumPy рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдмрдирд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ SciPy рдФрд░ NumPy рдЕрдХреНрд╕рд░ рд╕рд╛рде рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ!

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

NumPy рдФрд░ SciPy рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░реЗрдВ

рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рдФрд░ рдЗрд╕рдХреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди arrays рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд-рд╕реА рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЧрдгрд┐рддреАрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ рдЬреЛ рдЗрди matrices рдФрд░ arrays рдкрд░ рдСрдкрд░реЗрдЯ рдХрд░рддреА рд╣реИрдВред

рдЖрдЧреЗ рдЬреЛ рд╣реИ, рдЙрд╕рдореЗрдВ рдЖрдкрдХреЛ рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдорд┐рд▓реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ SciPy рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ array рд╕рдВрд░рдЪрдирд╛, рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ arrays рдХреЗ рдЖрдХрд╛рд░ (shape) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рд╕рдм рдЖрдкрдХреЛ рдирдпрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рддреЛ DataCamp рдХрд╛ Python NumPy Tutorial рджреЗрдЦреЗрдВ рдФрд░ рд╕реАрдЦрддреЗ рд╕рдордп NumPy рдЪреАрдЯ рд╢реАрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдЬрд╝рд░реВрд░ рдбрд╛рд▓реЗрдВред

рдпрджрд┐ рдЖрдк рдпрд╣ рд╕рдм рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓реЗ рд╕реЗрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ тАЬLinear Algebra With SciPyтАЭ рдкрд░ рдЬрд╛рдПрдБ, рдкрд░ рдЕрдкрдиреА linear algebra рдХреЗ рд▓рд┐рдП SciPy рдЪреАрдЯ рд╢реАрдЯ рддреИрдпрд╛рд░ рд░рдЦреЗрдВ!

data science courses banner

NumPy ndarray рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ

рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдПрдХ array рдореВрд▓рддрдГ pointers рдХрд╛ рд╕рдореВрд╣ рд╣реИред рдпрд╣ рдПрдХ memory address, data type, shape рдФрд░ strides рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ raw рдбреЗрдЯрд╛, рдХрд┐рд╕реА рддрддреНрд╡ рдХрд╛ рд╕реНрдерд╛рди рдФрд░ рдЙрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬреИрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред

рдЬрдм рдЖрдк arrays рдХреЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ memory address рдФрд░ strides рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ data type рдФрд░ shape рд╡реЗ рдмрд╛рддреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЛ рдЬрд╝рд░реВрд░ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреЛ рдЕрдиреНрдп attributes рдЬрд┐рди рдкрд░ рдЖрдк рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд╡реЗ рд╣реИрдВ data рдФрд░ size, рдЬрд┐рдирд╕реЗ рдЖрдк рдЕрдкрдиреЗ array рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП DataCamp Light chunk рдореЗрдВ ndarray attributes рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВред Array myArray рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рд╣реИред рдЖрдк рдЗрд╕реЗ IPython shell рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдФрд░ ENTER рджрдмрд╛рдХрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

# Inspect the data of `myArray`
print(myArray.data)

# Inspect the data type of `myArray`
print(_________________)

# Inspect the shape of `myArray`
print(__________________)

# Inspect the size of `myArray`
print(__________________)

рдКрдкрд░ рджрд┐рдП рдЧрдП code chunk рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ myArray рдХрд╛ data type int64 рд╣реИред рдЬрдм рдЖрдк arrays рдХреЗ рд╕рд╛рде рдЧрд╣рд░рд╛рдИ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдмрд╛рдд рдЕрд╡рд╢реНрдп рдпрд╛рдж рд░рд╣реЗрдЧреА рдХрд┐ astype() рдореЗрдердб рд╕реЗ рдПрдХ data type рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ arrays рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд░ рднреА, рдЬрдм рдЖрдк SciPy рдФрд░ NumPy рдХреЛ рд╕рд╛рде рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди type handling рд╡рд╛рд▓реА NumPy рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдВрдЧреА, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдк complex numbers рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ:

# Return the real part of `myArray` elements
np.real(myArray)

# Return the imaginary part of `myArray` elements
np.imag(myArray)

# Return a real array if the complex parts are close to 0
np.real_if_close(myArray,tol=1000)

# Cast `myArray` to float
np.cast['f'](myArray)

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП print() рдХреЙрд▓ рдЬреЛрдбрд╝рдХрд░ рджреЗрдЦреЗрдВред рддрдм рдЖрдкрдХреЛ рджрд┐рдЦреЗрдЧрд╛ рдХрд┐ complex numbers рдореЗрдВ real рдФрд░ imaginary рджреЛрдиреЛрдВ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВред np.real() рдФрд░ np.imag() рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреНрд░рдорд╢рдГ рдпреЗ рднрд╛рдЧ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рд╣реИрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк np.cast рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА array рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрд┐рд╕реА рджреВрд╕рд░реЗ data type рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ floatред

рдКрдкрд░ рджрд┐рдП рдХреЛрдб chunk рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рджрд┐рдЦрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ np.real_if_close() рдлрд╝рдВрдХреНрд╢рдиред рдЬрдм рдЖрдк рдЗрд╕реЗ рдХреЛрдИ complex рдЗрдирдкреБрдЯ рджреЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ myArray, рддреЛ рдпрджрд┐ complex рднрд╛рдЧ рд╢реВрдиреНрдп рдХреЗ рдХрд╝рд░реАрдм рд╣реИрдВ, рдЖрдкрдХреЛ рдПрдХ real array рд╡рд╛рдкрд╕ рдорд┐рд▓реЗрдЧрд╛ред тАЬ0 рдХреЗ рдХрд╝рд░реАрдмтАЭ рдХреА рдпрд╣ рд╕реАрдорд╛ рдЖрдк рд╕реНрд╡рдпрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ tol argument рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдереНрд░реЗрд╢рд╣реЛрд▓реНрдб рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдХрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ!

Array рдмрдирд╛рдирд╛

рдЕрдм рдЖрдкрдиреЗ рджреЗрдЦ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ array рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреЗ data type рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреИрд╕реЗ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ arrays рдХреИрд╕реЗ рдмрдирд╛рдП рдЬрд╛рдПрдБред рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк np.array() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди array рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп routines рднреА рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: np.eye() рдФрд░ np.identity()ред

np.eye() рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдЙрд╕ рдзрдирд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдмрд░рд╛рдмрд░ рдЖрдпрд╛рдореЛрдВ рд╡рд╛рд▓реА рдПрдХ square рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ argument рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддреЗ рд╣реИрдВред рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╢реВрдиреНрдп рд╕реЗ рднрд░реА рд╣реЛрддреА рд╣реИрдВ, рдХреЗрд╡рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡рд┐рдХрд░реНрдг (diagonal) рдПрдХ рд╕реЗ рднрд░реА рд╣реЛрддреА рд╣реИред np.identity() рдлрд╝рдВрдХреНрд╢рди рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ identity array рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ np.eye() рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд argument k рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЙрд╕ diagonal рдХреЗ index рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк ones рд╕реЗ рднрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЕрдиреНрдп array рдирд┐рд░реНрдорд╛рдг рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛ linear algebra рдХреА matrices рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдЖрдПрдБрдЧреЗ, рдпреЗ рд╣реИрдВ:

  • np.arange() рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдорд╛рди рдЕрдВрддрд░ рд╡рд╛рд▓реЗ рдорд╛рдиреЛрдВ рд╡рд╛рд▓рд╛ array рдмрдирд╛рддрд╛ рд╣реИред рдЖрдк рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,
  • рдпрд╣реА рдмрд╛рдд np.linspace() рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдкрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрдк рдЕрдкрдиреЗ array рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  • рдЕрдВрдд рдореЗрдВ, np.logspace() рднреА рд╕рдорд╛рди рдЕрдВрддрд░ рд╡рд╛рд▓реЗ рдорд╛рдиреЛрдВ рдХреЗ arrays рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рд▓рдШреБрдЧрдгрдХреАрдп рдкреИрдорд╛рдиреЗ рдкрд░ред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ spacing рдЕрдм logarithmic рд╣реИ: рджреЛ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЙрдирдХреЗ base-10 logarithms рдХреЗ рдмреАрдЪ рд╕рдорд╛рди рджреВрд░реА рдкрд░ рд╣реЛрддреА рд╣реИрдВред

рдпреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ meshes рдХреЗ рд░реВрдк рдореЗрдВ arrays рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ mesh grids рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рдкрдврд╝ рдЪреБрдХреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП code chunk рдореЗрдВ numpy рдкрд╣рд▓реЗ рд╕реЗ np рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рд╣реИ!

# Create a 2X2 identity matrix with `np.eye()`
__________________

# Create a 3X3 identity matrix with `np.identity()`
__________________

# Uniformly spaced values: spacing
_________(3, 7, 2)

# Uniformly spaced values: number of samples
___________(2, 3, 5)

# Uniformly spaced values: logarithmic spacing 
___________(2, 3, 4)

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╕реНрдореГрддрд┐ рддрд╛рдЬрд╝рд╛ рдХрд░ рд▓реА рд╣реИ рдФрд░ рдЬрд╛рди рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ arrays рдХреЗ data types рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рддреЛ рдЕрдм indexing рдФрд░ slicing рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рднреА рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

Indexing рдФрд░ Slicing

Indexing рдореЗрдВ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ square brackets [] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ array рдорд╛рдиреЛрдВ рдХреЛ index рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА array рдХреЗ рдЪреБрдиреЗ рд╣реБрдП рддрддреНрд╡реЛрдВтАФрдПрдХ subsetтАФрддрдХ рдкрд╣реБрдБрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк indexing рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ slice рдХрд░рдирд╛ subsetting рдЬреИрд╕рд╛ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдХрд┐рд╕реА array рдХреЛ slice рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдиреЛрдВ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ тАЬregionsтАЭ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ тАЬlocationsтАЭ рдХреЗ рд╕рд╛рдеред

рджреЛрдиреЛрдВ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ:

# Slice `myArray` at index 0 and 1
print(____________)

# Slice `my_2dArray` at row 0 and 1, column 1
print(________________)

# Slice `my_3dArray` at row 1
print(my_3dArray[1,...])

# Boolean indexing: only values < 2
print(myArray[____________])

# Fancy indexing
print(my_2dArray[[1, 0, 1, 0],[0, 1, 2, 0]])

рдЕрдм рдЬрдм рдЖрдкрдХреА slicing рдФрд░ indexing рдХреА рд╕рдордЭ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ index рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рднреА рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ SciPy рдХреЗ рд╕рд╛рде рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЗ рдХрд╛рдо рдХреЛ рдФрд░ рдХреБрд╢рд▓ рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВред рдЪрд╛рд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЕрдХреНрд╕рд░ рд╕рд╛рдордиреЗ рдЖрдПрдБрдЧреА: np.mgrid(), np.ogrid(), np.r рдФрд░ np.cред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ NumPy рдХрд╛ рдХреБрдЫ рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ рдЖрдЦрд┐рд░реА рджреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реЛрдВрдЧреЗред np.r рдФрд░ np.c рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░рдорд╢рдГ row-wise рдпрд╛ column-wise arrays рдХреЛ stack рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдорджрдж рд╕реЗ рдЖрдк np.concatenate() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд▓реНрджреА рд╕реЗ arrays рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

# Create a dense meshgrid
np.mgrid[1:11:2, -12:-3:3]

# Create an open meshgrid
np.ogrid[1:11:2, -12:-3:3]

# Stack arrays vertically
np.r_[3,[0]*5,-1:1:10j]

# Stack arrays horizontally 
np.c_[array, my_2dArray]

рдЗрди рдЪрд╛рд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ meshgrid рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдкрдбрд╝реЗрдЧреАред рдЖрдк meshgrids рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕рдордХреЛрдг (rectilinear) рдЧреНрд░рд┐рдб рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ x- рдФрд░ y-рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд╛рд▓реА рджреЛ arrays рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред np.meshgrid() рдлрд╝рдВрдХреНрд╢рди рджреЛ 1D arrays рд▓реЗрддрд╛ рд╣реИ рдФрд░ рджреЛ 2D рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрди рджреЛрдиреЛрдВ arrays рдореЗрдВ (x, y) рдХреЗ рд╕рднреА рдпреБрдЧреНрдореЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреА рд╣реИрдВред

  • np.mgrid() MATLAB рдХреЗ meshgrid рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдФрд░ рд╕рдорд╛рди shape рд╡рд╛рд▓реА arrays рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ arrays рдХреЗ рдЖрдпрд╛рдореЛрдВ рдФрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛, indexing dimensions рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреЗ рд╣реИрдВред
  • рджреВрд╕рд░реА рдУрд░, np.ogrid() рдПрдХ open meshgrid рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрддрдирд╛ dense рдирд╣реАрдВ рд╣реЛрддрд╛ рдЬрд┐рддрдирд╛ np.mgrid() рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП code chunk рдореЗрдВ рдЖрдк рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рджреГрд╢реНрдп рдЕрдВрддрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрди рджреЛрдиреЛрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдпрд╣рд╛рдБ рднреА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк indexing/slicing рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ np.select()ред рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ conditions рдХреЗ рдЖрдзрд╛рд░ рдкрд░ arrays рдХреА рд╕реВрдЪреА рд╕реЗ рдорд╛рди рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА argument рдореЗрдВ рдЖрдк conditions рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реА argument рдореЗрдВ рд╡рд╣ array рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЗрд╕ рдЪрдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

# Initialize a 2D array 
my_2dArray = np.array([[1,2,3,4], [5,6,7,8]], dtype=np.int64)

# Select values from `my_2dArray`
np.select([my_2dArray < 4],[my_2dArray * 2])

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдореВрд▓ array рдХреЗ рд╕рд╣реА рдорд╛рди рдЪреБрди рд▓рд┐рдП рд╣реИрдВ, рддреЛ рдЖрдк shape рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдирдП array рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Shape рдХрд╛ рдЪрдпрди рдФрд░ рд╣реЗрд░рдлреЗрд░

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

рддреЛ, рдХреНрдпрд╛ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ рдЬреЛ SciPy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╛рдо рдЖрддреЗ рд╣реИрдВ?

рд╣рд╛рдБ, рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╡реЗ рд╣реИрдВ рдЬреЛ arrays рдХреЛ flatten рдХрд░рдиреЗ, stack рдХрд░рдиреЗ рдФрд░ split рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА np.c рдФрд░ np.r рдлрд╝рдВрдХреНрд╢рдВрд╕ рджреЗрдЦ рд▓рд┐рдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдХреНрд╕рд░ np.concatenate() рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдФрд░ рднреА рдХрдИ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!

рдЬреИрд╕реЗ np.hstack() рд╕реЗ рдЕрдкрдиреЗ arrays рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ stack рдХрд░рдирд╛ рдпрд╛ np.vstack() рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд░реВрдк рд╕реЗ stack рдХрд░рдирд╛ред рдЗрд╕реА рддрд░рд╣, рдЖрдк np.vsplit() рдФрд░ np.hsplit() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░рдорд╢рдГ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ arrays рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдЖрдк рдпрд╣ рд╕рдм рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реЛрдВрдЧреЗред

рдЗрд╕реЗ рдирд┐рдореНрди code chunk рдореЗрдВ рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВ:

#Stack arrays horizontally (column-wise)
print(_________((np.eye(2), my_2dArray)))

# Stack arrays vertically (row-wise)
print(__________((myArray, my_2dArray)))

# Split the array horizontally at the 2nd index
print(___________(my_2dArray, 2))

# Split the array vertically at the 2nd index
print(____________(my_2dArray, 2))

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ np.eye() рдлрд╝рдВрдХреНрд╢рди 2X2 identity array рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП code chunk рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд┐рдП рдЧрдП 2-D array рдХреЗ рд╕рд╛рде stack рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдпрджрд┐ рдЖрдк arrays рдХреЛ stack рдХрд░рдиреЗ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдБ рдЬрд╛рдПрдБред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк arrays рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рджреЗрдЦрдХрд░ рднреА рдпрд╣ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рджреЛ arrays рдХреЛ row рдпрд╛ column рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрд┐рди тАШрдирд┐рдпрдореЛрдВтАЩ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реИред

arrays рдХреЛ split рдХрд░рддреЗ рд╕рдордп рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ array рдХрд╛ shape рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╕рд╣реА index рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдк split рдЪрд╛рд╣рддреЗ рд╣реИрдВред

arrays рдХреЛ stack рдФрд░ split рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдпрд╛рдо (dimension) рд╡рд╛рд▓реЗ arrays рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВтАФрдЬреЛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрд╛рддреЗ рд╕рдордп рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИрдВред

рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

#Permute `myArray` dimensions
print(np.transpose(myArray))

# Flatten `my_3dArray`
print(my_3dArray.flatten())

# Reshape but don't change the data
print(my_2dArray.reshape(4,2))

# Resize to (6,4)
print(np.resize(my_3dArray, (6,4)))

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ reshaping рдФрд░ resizing рдореЗрдВ рдЕрдВрддрд░ рд╣реИред рдкрд╣рд▓реЗ рдореЗрдВ рдЖрдк рдбреЗрдЯрд╛ рдХрд╛ shape рдмрджрд▓рддреЗ рд╣реИрдВ рдкрд░ рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛ред рдЬрдмрдХрд┐ resize рдХрд░рдиреЗ рдкрд░, рдЖрдкрдХреЗ рдЪреБрдиреЗ рдЧрдП shape рдХреЗ рдЖрдзрд╛рд░ рдкрд░ array рдореЗрдВ рдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдмрджрд▓ рднреА рд╕рдХрддрд╛ рд╣реИред

splitting рдФрд░ stacking routines рддрдерд╛ рд╡реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ arrays рдореЗрдВ рдФрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рджреЗрддреА рд╣реИрдВ, рдЗрдирдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдФрд░ рдЪреАрдЬрд╝ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПтАФтАЬvectorizationтАЭред рдЬрдм рдЖрдк рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА array рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдорддреМрд░ рдкрд░ рд╡рд╣ array рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА array рдкрд░ np.cos(), np.sin() рдпрд╛ np.tan() рд▓рдЧрд╛рдХрд░ рджреЗрдЦреЗрдВред рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕рднреА рддрддреНрд╡реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рдордЭ рд▓реЗрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди vectorized рд╣реИред

рд▓реЗрдХрд┐рди, рдЬрдм рдЖрдк рд╕реНрд╡рдпрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдЖрдк рдЕрдХреНрд╕рд░ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рднреА vectorize рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк np.vectorize() рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

# Define a function `myfunc`
def myfunc(a,b):
  if a > b:
     return a - b
  else:
     return a + b
    
# Vectorize `myfunc`
vectorizedFunc = np.vectorize(myfunc) 

# Apply 
vectorizedFunc(myArray, 2)

рдЕрдиреНрдп vectorized рдЧрдгрд┐рддреАрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдмрд╛рдд рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рддреЛ np.angle() complex array рддрддреНрд╡реЛрдВ рдХреЗ рдХреЛрдг рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп, рдШрд╛рддреАрдп (exponential) рдпрд╛ рд▓рдШреБрдЧрдгрдХреАрдп (logarithmic) рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рдХрд╛рдо рдЖрдПрдБрдЧреАред

Learn Python for Data Science With DataCamp

SciPy рдХреЗ рд╕рд╛рде рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд

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

рд▓реЗрдХрд┐рди Python рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд▓реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдкреВрд░реА рддрд░рд╣ рддреИрдпрд╛рд░ рд╣реИ!

SciPy рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ Python рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИред рдЕрдЧрд░ рдЕрднреА рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдБ :) рдпрджрд┐ рдЖрдк Windows рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ Python рдХреЛ PATH рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, pip рдЬреИрд╕реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк Python рдХреА рдУрдкрди-рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Python 3 рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ pip рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд╛рдБрдЪ рд▓реЗрдВ рдХрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдЕрдЧрд░ рд╣реИ, рддреЛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд▓реЗрдВ:

 pip install pip --upgrade pip --version

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

# Install the wheel install "scipyтАС0.18.1тАСcp36тАСcp36mтАСwin_amd64.whl"# Confirm successful installimport scipy# Check package versionscipy.__version__

рдЗрди рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж, рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВ!

рдЯрд┐рдк: Anaconda Python рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдпрд╣ рддреЗрдЬрд╝реА рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Anaconda рдореЗрдВ рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп 100 Python, R рдФрд░ Scala рдкреИрдХреЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдмрд▓реНрдХрд┐ Jupyter рдФрд░ Spyder рдЬреИрд╕реЗ рдХрдИ рдУрдкрди рдХреЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк Jupyter Notebook рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ Jupyter рдиреЛрдЯрдмреБрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВред

рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдЬрд╛рдПрдБред

рд╡реЗрдХреНрдЯрд░ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕: рдореВрд▓ рдмрд╛рддреЗрдВ

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

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╡реЗрдХреНрдЯрд░ рд╕реНрдкреЗрд╕ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рд╕реНрдкреЗрд╕ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╕реНрддреБрдУрдВ (рд╡реЗрдХреНрдЯрд░реЛрдВ) рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрд╣рд╛рдБ рдЖрдк рджреЛ рд╡реЗрдХреНрдЯрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рдпрд╛ рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдЗрд╕ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рд╡реЗрдХреНрдЯрд░ рдЙрд╕ рд╕реНрдкреЗрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЬрд╛рдПред рдпрд╣ рднреА рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╡реЗрдХреНрдЯрд░ рдХрд┐рд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ (рдпрд╛ рд╕реНрддрдВрдн) рд╣реЛрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдпрд╣ Python рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдЖрдк np.array() рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реЗрдХреНрдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рдЖрдк рдХрд┐рд╕реА рднреА рдПрдХ- рдпрд╛ рджреЛ-рдЖрдпрд╛рдореА ndarray рдХреЛ np.matrix() рдпрд╛ np.mat() рдХрдорд╛рдВрдб рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрд░рдЪрдирд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдЦрдВрдб рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдБ:

# Create a vector
myVector = np.array([1,2,3,4])

# Create a matrix
myMatrix = np.matrix(np.random.random((5,5)))

рддреЛ рдХреНрдпрд╛ рдПрд░реЗ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХ рдЬреИрд╕реЗ рд╣реА рд╣реИрдВ, рдмрд╕ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдЕрд▓рдЧ рд╣реИ?

рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред рдХреБрдЫ рдЕрдВрддрд░ рд╣реИрдВ:

  • рдореИрдЯреНрд░рд┐рдХреНрд╕ 2-рдбреА рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдПрд░реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ n-рдбреА рд╣реЛрддреЗ рд╣реИрдВ,
  • рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ, рдореИрдЯреНрд░рд┐рдХреНрд╕ ndarray рдХрд╛ рд╕рдмрдХреНрд▓рд╛рд╕ рд╣реИ,
  • рдПрд░реЗ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ .T() рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ .H() рдФрд░ .I() рд╣реЛрддрд╛ рд╣реИ,
  • рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрд╛, рдПрд░реЗ рдХреЗ рдПрд▓рд┐рдореЗрдВрдЯ-рд╡рд╛рдЗрдЬрд╝ рдЧреБрдгрд╛ рд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░
  • рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ** рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рдПрд░реЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ

рдЬрдм рдЖрдк рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдРрд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд▓реЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рддрддреНрд╡ рд╢реВрдиреНрдп рд╣реЛрддреЗ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ тАЬрд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕тАЭ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЬрд┐рдирдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреИрд░-рд╢реВрдиреНрдп рддрддреНрд╡ рд╣реЛрдВ, рдЙрдиреНрд╣реЗрдВ тАЬрдбреЗрдВрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕тАЭ рдХрд╣рддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдпрд╣ рдорд╛рдореВрд▓реА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдкрд░ рдЬрдм рдЖрдк рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХреЗ рд▓рд┐рдП SciPy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬрд┐рди рдореЙрдбреНрдпреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЦрд╛рд╕ рддреМрд░ рдкрд░, рдЖрдк рдбреЗрдВрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП scipy.linalg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ scipy.sparse рдореЙрдбреНрдпреВрд▓ рдХреЛ рднреА рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдкрдирд╛ scipy.sparse.linalg рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЦрдВрдб рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ:

# Create a 2X2 identity matrix
np.eye(3, k=1)        

# Create a 2x2 identity matrix
np.mat(np.identity(2))         

# Compressed Sparse Row matrix
sparse.csr_matrix(C)  

# Compressed Sparse Column matrix
sparse.csc_matrix(C)  

# Dictionary Of Keys matrix
sparse.dok_matrix(C)  

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: bsr_matrix() рд╕реЗ рдмреНрд▓реЙрдХ рд╕реНрдкрд╛рд░реНрд╕ рд░реЛ рдореИрдЯреНрд░рд┐рдХреНрд╕, coo_matrix() рд╕реЗ COOrdinate рдлрд╝реЙрд░реНрдореЗрдЯ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕, dia_matrix() рд╕реЗ DIAgonal рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕, рдФрд░ lil_matrix() рд╕реЗ рд░реЛ-рдЖрдзрд╛рд░рд┐рдд рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ред

рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЦреБрдж рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реЗ рдЪреБрдиреЗрдВ?

рдпрд╣ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реЛрдЪреЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред

рдФрд░ рдареЛрд╕ рд░реВрдк рдореЗрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рд╕реЗ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди-рд╕рд╛ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

  • рдпрджрд┐ рдЖрдк рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рдВрдЦреНрдпрд╛рдПрдБ рднрд░рдХрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ coo_matrix() рдпрд╛ dok_matrix() рдЪреБрдиреЗрдВред
  • рдпрджрд┐ рдЖрдк рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдПрдХ рдПрд░реЗ рдХреЛ рдбрд╛рдпрдЧреЛрдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдХрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ dia_matrix() рдЪреБрдиреЗрдВред
  • рд╕реНрд▓рд╛рдЗрд╕-рдЖрдзрд╛рд░рд┐рдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, lil_matrix() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • рдпрджрд┐ рдЖрдк рдЫреЛрдЯреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдмреНрд▓реЙрдХреНрд╕ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ bsr_matrix() рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
  • рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рддрдХ рддреЗрдЬрд╝реА рд╕реЗ рдкрд╣реБрдБрдЪ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд░рдорд╢рдГ csr_matrix() рдФрд░ csc_matrix() рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдХрдиреНрд╡рд░реНрдЯ рдХрд░реЗрдВред рдпреЗ рджреЛрдиреЛрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧреБрдгрд╛ рдХрд░рддреЗ рд╕рдордп рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрддрд┐ рдореЗрдВ рдЕрдВрддрд░ рджреЗрдЦреЗрдВрдЧреЗред

рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╕рд╛рди!

рд╡реЗрдХреНрдЯрд░ рдСрдкрд░реЗрд╢рдВрд╕

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

рдЖрдк рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдЖрдк np.array() рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реЗрдХреНрдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реЗрдХреНрдЯрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрди рдкрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдСрдкрд░реЗрд╢рдВрд╕ рднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдЦрдВрдб рдореЗрдВ vector1 рдФрд░ vector2 рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рд╣реИрдВ:

# Addition of `vector1` and `vector2`
vector3 = vector1 + vector2

# Print `vector3`
print(_______)

# Subtraction of `vector2` and `vector1`
vector4 = ________ - vector1

# print `vector4`
print(vector4)

# Dot product of `vector1` and `vector2`
dotProduct = np.dot(vector1, vector2)

# Print `dotProduct`
print(dotProduct)

# Cross product of `vector1` and `vector2`
crossProduct = np.cross(________, vector2)

# Print `crossProduct`
print(____________)

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдХреБрдЫ рд╡реЗрдХреНрдЯрд░ рдСрдкрд░реЗрд╢рдВрд╕ рджреЗрдЦ рд▓рд┐рдП рд╣реИрдВ, рддреЛ рдЕрдм рдЕрд╕рд▓реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд╛рд▓реЗ рдХрд╛рдо рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ!

рдореИрдЯреНрд░рд┐рдХреНрд╕: рдСрдкрд░реЗрд╢рдВрд╕ рдФрд░ рд░реВрдЯреАрди

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ NumPy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпреЗ рдХрд╛рдлрд╝реА рд╕рд╣рдЬ рд▓рдЧреЗрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рднреА рд╣реИ, рддреЛ рднреА рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрдиреНрд╣реЗрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдЖрдЗрдП рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред

рдПрд░реЗ рдпрд╛ рдореИрдЯреНрд░рд┐рд╕реЗрдЬрд╝ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП np.add() рдФрд░ np.subtract() рд╣реИрдВ, рдФрд░ рднрд╛рдЧ рджреЗрдиреЗ рд╡ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП np.divide() рдФрд░ np.multiplyред рдпрд╣ рдХреЛрдИ рдмрдбрд╝рд╛ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд▓рдЧрддрд╛, рд╣реИ рди? рд╕рд╛рде рд╣реА np.dot() рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдбреЙрдЯ рдкреНрд░реЛрдбрдХреНрдЯ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрд╛ рдерд╛, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣рд╛рдБ рд╡реЗрдХреНрдЯрд░реЛрдВ рдХреА рдЬрдЧрд╣ рджреЛ рдореИрдЯреНрд░рд┐рдХреНтАНрд╕ рдкрд╛рд╕ рдХрд░реЗрдВред

рдпреЗ рддреЛ рдмреБрдирд┐рдпрд╛рджреА рд╣реИрдВ, рд╕рд╣реА?

рдЕрдм рдереЛрдбрд╝реЗ рдХрдо рдмреБрдирд┐рдпрд╛рджреА рдмрдиреЗрдВред рдЧреБрдгрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдХреБрдЫ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╡реЗрдХреНрдЯрд░реЛрдВ рдХреЗ рдбреЙрдЯ рдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рд▓рд┐рдП np.vdot(), рдПрд░реЗ рдХреЗ рдЗрдирд░ рдпрд╛ рдЖрдЙрдЯрд░ рдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рд▓рд┐рдП np.inner() рдпрд╛ np.outer(), рдФрд░ рджреЛ рдПрд░реЗ рдХреЗ рдХреНрд░реЛрдиреЗрдХрд░ рдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рд▓рд┐рдП np.tensordot() рдФрд░ np.kron():

# Vector dot product
vectorDotProduct = np.vdot(vector1, vector2)

# Inner product
innerProduct = np.inner(vector1, vector2)

# Outer product
outerProduct = np.outer(vector1, vector2)

# Tensor dot product
tensorDotProduct = np.tensordot(matrix1, matrix2)

# Kronecker product
kronProduct = np.kron(matrix1, matrix2)

рдЯрд┐рдк: рдКрдкрд░ рдХреЗ рдХреЛрдб рдЦрдВрдб рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рд╣рд░ рдкреНрд░реЛрдбрдХреНрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦреЗред

рдЗрдирдХреЗ рдЕрд▓рд╛рд╡рд╛, linalg рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ linalg.expm(), linalg.expm2() рдФрд░ linalg.expm3()ред рдЗрди рддреАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдХреА рдЧрдгрдирд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдкрд░ рдЯрд┐рдХреЗ рд░рд╣реЗрдВ, рд▓реЗрдХрд┐рди рддреАрдиреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдХрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдлрд░реНрдХ рджреЗрдЦрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ!

рд╕рд╛рде рд╣реА рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреИрд╕реЗ linalg.cosm(), linalg.sinm() рдФрд░ linalg.tanm(), рд╣рд╛рдЗрдкрд░рдмреЛрд▓рд┐рдХ рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреИрд╕реЗ linalg.coshm(), linalg.sinhm() рдФрд░ linalg.tanhm(), рд╕рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди linalg.signm(), рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓реЙрдЧрд░рд┐рджреНрдо linalg.logm(), рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд░реНрдЧрдореВрд▓ linalg.sqrtm()ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк linalg.funm() рдлрд╝рдВрдХреНрд╢рди рдХреА рдорджрдж рд╕реЗ рдХрд┐рд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдорд╛рди рднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

linalg.funm(myMatrix, lambda x: x*x)

рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░рд╛ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди (рдпрд╣рд╛рдБ lambda рдлрд╝рдВрдХреНрд╢рди) рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдЕрдкреНрд▓рд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ linalg.funm() рдХреЛ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рд╡реЗрдХреНрдЯрд░рд╛рдЗрдЬрд╝реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдм рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реВрдЯреАрди рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдЖрдк рд╢рд╛рдпрдж рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд╡реЗ рд╣реИрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕: рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП T, рдХреЙрдиреНрдЬреБрдЧреЗрдЯ рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП H, рдЗрдирд╡рд░реНрд╕ рдХреЗ рд▓рд┐рдП I, рдФрд░ рдПрд░реЗ рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Aред

рдЗрдиреНрд╣реЗрдВ рдЖрдЬрд╝рдорд╛рдПрдБ:

# Transposition
myMatrix._

# Conjugate transposition
myMatrix._

# Inverse
myMatrix._

# Array
myMatrix._

рдЬрдм рдЖрдк рдХрд┐рд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдирдпрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕реНрддрдВрдн рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдХреЙрдиреНрдЬреБрдЧреЗрдЯ рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рдореЗрдВ рд╣рд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрд▓рд┐рдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐ рдФрд░ рд╕реНрддрдВрдн рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░рд╕реНрдкрд░ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЗрдирд╡рд░реНрд╕ рдРрд╕рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдпрджрд┐ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдПрдХ рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЗрди рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рдмреБрдирд┐рдпрд╛рджреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реВрдЯреАрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП np.transpose() рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдирд╡рд░реНрд╕ рдХреЗ рд▓рд┐рдП linalg.inv()ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдореБрдЦреНрдп рдбрд╛рдпрдЧреЛрдирд▓ рдкрд░ рд╕реНрдерд┐рдд рддрддреНрд╡реЛрдВ рдХрд╛ рдпреЛрдЧ рдпрд╛ рдЯреНрд░реЗрд╕ np.trace() рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдЖрдк NumPy рдХреЗ linalg.matrix_rank рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реИрдВрдХ, рдпрд╛рдиреА рдХрд┐рд╕реА рдПрд░реЗ рдХреЗ Singular Value Decomposition рдХреЗ рд╡реЗ рд╕рд┐рдВрдЧреБрд▓рд░ рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдереНрд░реЗрд╢рд╣реЛрд▓реНрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдВ, рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рдЕрднреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реИрдВрдХ рд╕рдордЭ рди рдЖрдП рддреЛ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ; рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдЧреЗ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗред

рдлрд╝рд┐рд▓рд╣рд╛рд▓, рджреЛ рдФрд░ рд░реВрдЯреАрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд┐рдирдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • linalg.norm рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдиреЙрд░реНрдо рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдореИрдЯреНрд░рд┐рдХреНрд╕ рдиреЙрд░реНрдо рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдПрдВрдЯреНрд░рд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреА рд╣реИред рдиреЙрд░реНрдо рдПрдХ рдЙрдкрдпреЛрдЧреА рдорд╛рддреНрд░рд╛ рд╣реИ рдЬреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рддрддреНрд╡ рдХрд┐рддрдиреЗ рдмрдбрд╝реЗ рд╣реИрдВред
  • рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдбрд┐рдЯрд░рдорд┐рдиреЗрдВрдЯ рднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдорд╛рди рд╣реИ рдФрд░ рдХрд┐рд╕реА рд╕реНрдХреНрд╡реЗрдпрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рддрддреНрд╡реЛрдВ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, linalg.det() рдХреЗ рд╕рд╛рдеред рдбрд┐рдЯрд░рдорд┐рдиреЗрдВрдЯ рдХрд┐рд╕реА рд╕реНрдХреНрд╡реЗрдпрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдПрдХ рдПрдХрд▓ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдореЗрдЯ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╡рд╣ рд╕реНрдХреНрд╡реЗрдпрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдирд╡рд░реНрдЯрд┐рдмрд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЕрдВрдд рдореЗрдВ, рд░реИрдЦрд┐рдХ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ \(Ax = b\) рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЬрд╣рд╛рдБ \(A\) рдПрдХ рд╕реНрдХреНрд╡реЗрдпрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ рдФрд░ \(b\) рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореИрдЯреНрд░рд┐рдХреНрд╕, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ \(x\) рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

# Dense matrix solver
linalg.solve(A, b)

# Linear least-square solver
linalg.lstsq(F,E)

рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк linalg.spsolve() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рд╕рдореАрдХрд░рдг рд╣рд▓ рдирд╣реАрдВ рдХрд░ рдкрд╛рддреЗ, рддреЛ linalg.lstsq() рдХрдорд╛рдВрдб рдХреА рдорджрдж рд╕реЗ \(x\) рдХрд╛ рдПрдХ рдирд┐рдпрддрд╛рддреНрдордХ рд╕рдиреНрдирд┐рдХрдЯрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЯрд┐рдк: DataCamp рдХрд╛ SciPy рдЪреАрдЯ рд╢реАрдЯ рди рдЪреВрдХреЗрдВред

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

рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░реНрд╕

рдкрд╣рд▓рд╛ рд╡рд┐рд╖рдп рдЬрд┐рд╕реЗ рдЖрдк рд▓реЗрдВрдЧреЗ, рд╡реЗ рд╣реИрдВ рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░реНрд╕ред

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХрд┐рд╕реА рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░ рдХреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ, рдФрд░ рдЙрд╕ рдЧреБрдгрди рдХрд╛ рдкрд░рд┐рдгрд╛рдореА рд╡реЗрдХреНрдЯрд░, рдореВрд▓ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░ рдФрд░ \(\lambda\) (рдИрдЬреЗрдирд╡реИрд▓реНрдпреВ) рдХреЗ рдЧреБрдгрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ: \[Ax = \lambda x. \]

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

# Solve eigenvalue problem
la, v = linalg.eig(myMatrix) 

# Unpack eigenvalues
l1, l2 = la

# First eigenvector
v[:,0]

# Second eigenvector
v[:,1]

# Or unpack eigenvalues with `eigvals()`
linalg.eigvals(myMatrix)

рдЖрдк linalg SciPy рдореЙрдбреНрдпреВрд▓ рдХреЗ eig() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдХреНрд╡реЗрдпрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рдзрд╛рд░рдг рдпрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдИрдЬреЗрдирд╡реИрд▓реНрдпреВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ eigvals() рдлрд╝рдВрдХреНрд╢рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред

рдЬрдм рдЖрдк рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЖрдк scipy.sparse рдореЙрдбреНрдпреВрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░реНрд╕ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдлрд╝рдВрдХреНрд╢рдВрд╕ рджреЗрддрд╛ рд╣реИ:

la, v = sparse.linalg.eigs(myMatrix,1)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░реНрд╕ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рдиреЗ рд╣реИрдВ, рдпрд╣рд╛рдБ 1ред

рдИрдЬреЗрдирд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдИрдЬреЗрдирд╡реЗрдХреНрдЯрд░реНрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреА рдХрдИ рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╣реИрдВ, рдЬреИрд╕реЗ рдбрд╛рдпрдореЗрдВрд╢рдирд▓рд┐рдЯреА рд░рд┐рдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ (PCA) рдФрд░ рдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП EigenFacesред

рд╕рд┐рдВрдЧреБрд▓рд░ рд╡реИрд▓реНрдпреВ рдбреАрдХрдВрдкреЛрдЬрд╝рд┐рд╢рди (SVD)

рдЕрдЧрд▓рд╛, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╡рд╛рдХрдИ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ SVD рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд┐рд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ \(A\) рдХрд╛ рд╕рд┐рдВрдЧреБрд▓рд░ рд╡реИрд▓реНрдпреВ рдбреАрдХрдВрдкреЛрдЬрд╝рд┐рд╢рди, \(A\) рдХреЛ рддреАрди рдореИрдЯреНрд░рд┐рд╕реЗрдЬрд╝ рдХреЗ рдЧреБрдгрди рдореЗрдВ рддреЛрдбрд╝рдирд╛ рдпрд╛ рдлреИрдХреНрдЯрд░рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реИ: \(A = U * \Sigma * V^t\)ред

рдпрджрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ \(A\) рдХрд╛ рд╕рд╛рдЗрдЬрд╝ \(M\) x \(N\) рд╣реИ, рддреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореИрдЯреНрд░рд┐рд╕реЗрдЬрд╝ рдХреЗ рд╕рд╛рдЗрдЬрд╝ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдВрдЧреЗ:

  • рдореИрдЯреНрд░рд┐рдХреНрд╕ \(U\) рдХрд╛ рд╕рд╛рдЗрдЬрд╝ \(M\) x \(M\) рд╣реЛрдЧрд╛
  • рдореИрдЯреНрд░рд┐рдХреНрд╕ \(V\) рдХрд╛ рд╕рд╛рдЗрдЬрд╝ \(N\) x \(N\) рд╣реЛрдЧрд╛
  • рдореИрдЯреНрд░рд┐рдХреНрд╕ \(\Sigma\) рдХрд╛ рд╕рд╛рдЗрдЬрд╝ \(M\) x \(N\) рд╣реЛрдЧрд╛

\(*\) рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрдЯреНрд░рд┐рд╕реЗрдЬрд╝ рдХрд╛ рдЧреБрдгрди рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ \(^t\) рдЬрд┐рд╕реЗ рдЖрдк \(V^t\) рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЯреНрд░рд╛рдВрд╕рдкреЛрдЬрд╝ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛рдиреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рд╕реНрддрдВрдн рдЖрдкрд╕ рдореЗрдВ рдмрджрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВред

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

# Singular Value Decomposition
U,s,Vh = linalg.svd(myMatrix) 

# Initialize `M` and `N`
M,N = myMatrix.shape

# Construct sigma matrix in SVD
Sig = linalg.diagsvd(s,M,N)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЖрдк рдбреАрдХрдВрдкреЛрдЬрд╝рд┐рд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sparse.linalg.svds() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рдпрд╣ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдбреАрдХрдВрдкреЛрдЬрд╝рд┐рд╢рди рдЖрдкрдХреЛ рд╢реБрд░реВ рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ: рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдХреЛрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рди рджрд┐рдЦреЗред рд▓реЗрдХрд┐рди SVD рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдХрдВрдкреНрд░реЗрд╢рди, рд╢реЛрд░ рдШрдЯрд╛рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рдЖрдЧреЗ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ SVD рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдореЗрдЬ рдХрдВрдкреНрд░реЗрд╢рди рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

# Import the necessary packagesimport numpy as npfrom scipy import linalgfrom skimage import dataimport matplotlib.pyplot as plt# Get an image from `skimage`img= data.camera()# Check number of singular valueslinalg.svdvals(img)# Singular Value DecompositionU, s, Vh = linalg.svd(img)# Use only 32 singular valuesA = np.dot(U[:,0:32],           np.dot(np.diag(s[0:32]), Vh[0:32,:]))fig = plt.figure(figsize=(8, 3))# Add a subplot to the figureax = fig.add_subplot(121)# Plot `img` on grayscaleax.imshow(img, cmap='gray')# Add a second subplot to the figureax2 = fig.add_subplot(122)# Plot `A` in the second subplotax2.imshow(A)# Add a titlefig.suptitle('Image Compression with SVD', fontsize=14, fontweight='bold')# Show the plotplt.show()

рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдиреАрдЪреЗ рдЬреИрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛:


svd рдХреЗ рд╕рд╛рде рдЗрдореЗрдЬ рдХрдВрдкреНрд░реЗрд╢рди

рдЙрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд╣рд╛рдБ SVD рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ:

  • SVD рдХрд╛ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ (PCA) рд╕реЗ рдЧрд╣рд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд╛рдпрдореЗрдВрд╢рдирд▓рд┐рдЯреА рд░рд┐рдбрдХреНрд╢рди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ: рджреЛрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо тАЬрдирдИ рдзреБрд░рд┐рдпрд╛рдБтАЭ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдлреАрдЪрд░ рд╕реНрдкреЗрд╕ рдХреА рдзреБрд░рд┐рдпреЛрдВ рдХреЗ рд░реИрдЦрд┐рдХ рд╕рдВрдпреЛрдЬрдиреЛрдВ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреА рд╣реИрдВред рдпреЗ тАЬрдирдИ рдзреБрд░рд┐рдпрд╛рдБтАЭ рдбреЗрдЯрд╛ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╡реИрд░рд┐рдПрдВрд╕ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рд╢рд╛ рдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИрдВред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ PCA рдбреЗрдЯрд╛ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░рд╛ Scikit-Learn рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВред
  • рдПрдХ рдФрд░ рдХрдбрд╝реА рдбреЗрдЯрд╛ рдорд╛рдЗрдирд┐рдВрдЧ рдФрд░ рдиреЗрдЪреБрд░рд▓ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (NLP) рд╕реЗ рд╣реИ: рд▓реИрдЯреЗрдВрдЯ рд╕реЗрдореИрдгреНрдЯрд┐рдХ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ (LSI)ред рдпрд╣ рдПрдХ рддрдХрдиреАрдХ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рд╢рдмреНрдж рд╕рдорд╛рдирддрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реИрдЯреЗрдВрдЯ рд╕реЗрдореИрдгреНрдЯрд┐рдХ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ, SVD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЙрди рд╕рдВрдХрд▓реНрдкрдирд╛рдУрдВ рд╕реЗ рд╕рдореВрд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬреЛ рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдкрд╛рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рд╢рдмреНрджреЛрдВ рд╕реЗ рдмрди рд╕рдХрддреА рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рд╢рдмреНрджреЛрдВ рдХреЛ рдПрдХ рд╕рдВрдХрд▓реНрдкрдирд╛ рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рднреА, SVD рд╢рдмреНрджреЛрдВ рдФрд░ рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдмреАрдЪ рд╢реЛрд░рдпреБрдХреНрдд рд╕рд╣рд╕рдореНрдмрдВрдз рдХреЛ рдХрдо рдХрд░рддреА рд╣реИ рдФрд░ рдореВрд▓ рдбреЗрдЯрд╛ рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рддреА рд╣реИред

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

рдЖрдЧреЗ рдХреНрдпрд╛?

рдЖрдк рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪ рдЧрдП рд╣реИрдВ! рдЕрдм рдпрд╣рд╛рдБ рд╕реЗ рдЖрдЧреЗ рдЖрдк рдХрд╣рд╛рдБ рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред

рд▓реЗрдХрд┐рди рдард╣рд░рд┐рдП!

рдЙрди рдХреЛрд░реНрд╕реЛрдВ рдХреЛ рди рдЪреВрдХреЗрдВ рдЬреЛ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдореЗрдВ рдФрд░ рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ: рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗрд╡рд▓ рд╡рд┐рд╖рдп рдХрд╛ рдкрд░рд┐рдЪрдп рдерд╛ рдФрд░ рдЗрд╕рдиреЗ рд╕рдм рдХреБрдЫ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ!

рдмреЗрд╢рдХ, DataCamp рдХрд╛ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд░рдиреЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рдЗрд╕ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд Scipy рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рдж рдЖрдкрдХреА рд▓рд░реНрдирд┐рдВрдЧ рдХрд░рд┐рдХреБрд▓рдо рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдк рдмреБрдирд┐рдпрд╛рдж рдкрд░ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ NumPy рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдпрд╛ Intermediate Python for Data Science рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред

рд╡рд┐рд╖рдп