ΠΡΡΡΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ | Python: Numpy-ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ 15+ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ ΠΊΡΡΡΠ°ΠΌ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡΠ΅Π½Π°ΠΆΠ΅ΡΠΎΠΌ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
- Π‘ΡΠ°Π²Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠΎΠΈΡΠΊΠ°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠ°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π°Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ ΡΡΠΎ Π·Π°ΡΠΎΡΠ΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Numpy, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, Π½ΠΎ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΡΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅
Numpy ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ βΒ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΌ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π·Π½ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ΠΌ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΡΡΡ ΡΠ΅ΠΌΡ Π³Π»ΡΠ±ΠΆΠ΅, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π½Π°Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π²ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ.
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² Python, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ. ΠΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. Numpy ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ β Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡ ΡΠ°Π·Π½ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π° ΡΠΈΠΊΠ»Ρ ΡΠΊΡΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅. Π Π½Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΡΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ:
import numpy as np # ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr1 = np.array([0, 1, 2, 3, 4, 5, 6, 7]) # ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° change_array_value = 5 print(arr1 + change_array_value) # => [ 5 6 7 8 9 10 11 12] print(arr1 - change_array_value) # => [-5 -4 -3 -2 -1 0 1 2] print(arr1 * change_array_value) # => [ 0 5 10 15 20 25 30 35] print(arr1 / change_array_value) # => [0. 0.2 0.4 0.6 0.8 1. 1.2 1.4]
Π¦ΠΈΠΊΠ»Ρ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ. ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, Π² Numpy ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ΠΌ. Π£ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ»ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΠΈ ΡΠΈΡΠ»Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° β ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, Π΅ΡΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠ° Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΠΊ ΠΌΠ°ΡΡΠΈΡΠ΅:
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΠΊ ΠΌΠ°ΡΡΠΈΡΠ΅ matrix_array = np.array([[5, 8], [8, 9]]) vector_array = np.array([1, 2]) print(matrix_array + vector_array) # => [[ 6 10] # [ 9 11]]
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π΄Π²ΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΊΠ»Ρ. ΠΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
# ΠΠ°ΡΡΠΈΠ² Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ arr2 = np.array([2, 2, 2, 2, -1, -1, -1, -1]) print(arr1 + arr2) # => [2 3 4 5 3 4 5 6] print(arr1 - arr2) # => [-2 -1 0 1 5 6 7 8] print(arr1 * arr2) # => [ 0 2 4 6 -4 -5 -6 -7] print(arr1 / arr2) # => [ 0.0.5 1. 1.5 -4. -5. -6. -7. ]
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π°Π΄ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ. ΠΠ΅Π· ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° zip()
Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ:
arr1 = [0, 1, 2, 3, 4, 5, 6, 7] change_array_value = 5 arr2 = [2, 2, 2, 2, -1, -1, -1, -1] print([arr1_val + change_array_value for arr1_val in arr1]) # => [5, 6, 7, 8, 9, 10, 11, 12] print([arr1_val + arr2_val for arr1_val, arr2_val in zip(arr1, arr2)]) # => [2, 3, 4, 5, 3, 4, 5, 6]
Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ Numpy ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ:
arr1 = np.array([[5, 8], [8, 9]]) arr2 = np.array([[3, 1], [7, 2]]) change_array_value = 3 print(arr1 * arr2) # => [[15 8] # [56 18]] print(arr1 / change_array_value) # => [[1.66666667 2.66666667] # [2.66666667 3. ]]
ΠΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Numpy ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. Π Π°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ Π²Π»ΠΈΡΠ»Π° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ β ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΌΠ΅Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ: ΡΠΈΡΠ»Π°, Π²Π΅ΠΊΡΠΎΡΠ°, ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΠ·ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ. ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ:
# ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ arr1 = [[5, 8], [8, 9]] arr2 = [[3, 1], [7, 2]] change_array_value = 3 for i in range(len(arr1)): for j in range(len(arr1[0])): arr1[i][j] *= arr2[i][j] print(arr1) # => [[15, 8], # [56, 18]] for i in range(len(arr2)): for j in range(len(arr2[0])): arr2[i][j] += change_array_value print(arr2) # => [[6, 4], # [10, 5]]
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΡΠΎΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Π²Π΅Π΄Ρ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈΠΌ Π·Π°Π΄Π°ΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² Π² ΡΠ΅ΡΠΈ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² Π·Π° Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ ΡΡΠ΅Π΄Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. Π‘ΡΠ΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π·Π° Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ:
- ΠΠΎ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ²
- Π‘ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π½ΡΠΌ Π½Π΅Π΄Π΅Π»ΠΈ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΡΠ³ΡΡΠ·ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠΏΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΄Π°ΠΆ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π΄Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ²:
# ΠΡΠΎΠ΄Π°ΠΆΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° orders = [ [7, 1, 7, 8], [4, 2, 4, 5], [3, 5, 2, 3], [8, 12, 8, 7], [15, 11, 13, 9], [21, 18, 17, 21], [25, 16, 25, 17] ] orders = np.array(orders)
ΠΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΎΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ:
# Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π΄Π½ΡΠΌ mean_orders_value = orders.mean() print(mean_orders_value) # => 10.5 print(orders - mean_orders_value) # => [[-3.5 -9.5 -3.5 -2.5] # [-6.5 -8.5 -6.5 -5.5] # [-7.5 -5.5 -8.5 -7.5] # [-2.5 1.5 -2.5 -3.5] # [ 4.5 0.5 2.5 -1.5] # [10.5 7.5 6.5 10.5] # [14.5 5.5 14.5 6.5]]
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄Π°ΠΆ. Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌΠΈ, Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠ΄Π°ΠΆ. Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π΄Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ mean()
Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ axis = 0
:
# Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌ mean_by_shop = orders.mean(axis=0) print(mean_by_shop) # => [11.85714286 9.28571429 10.85714286 10.] print(orders - mean_by_shop) # =>[[-4.85714286 -8.28571429 -3.85714286 -2.] # [-7.85714286 -7.28571429 -6.85714286 -5.] # [-8.85714286 -4.28571429 -8.85714286 -7.] # [-3.85714286 2.71428571 -2.85714286 -3.] # [ 3.14285714 1.71428571 2.14285714 -1.] # [ 9.14285714 8.71428571 6.14285714 11.] # [13.14285714 6.71428571 14.14285714 7.]]
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π½Π΅Π²Π½ΡΡ
ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡΡ
. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΡΠΎΡΠ°Π΄ΠΊΡ ΠΏΡΠΎΠ΄Π°ΠΆ ΠΏΠΎ Π²ΠΈΠ½Π΅ Π»ΠΎΠ³ΠΈΡΡΠΎΠ² ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΡΡΠ΅Π΄Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π½ΡΠΌ. Π ΠΌΠ°ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄
Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ axis = 1
:
# Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π½ΡΠΌ mean_by_day = orders.mean(axis=1) print(mean_by_day) # => [ 5.75 3.75 3.25 8.75 12. 19.25 20.75] # ΠΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π΄Π»Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ mean_by_day = mean_by_day.reshape((7,1)) print(mean_by_day) # => [[ 5.75] # [ 3.75] # [ 3.25] # [ 8.75] # [12. ] # [19.25] # [20.75]] print(orders - mean_by_day) # => [[ 1.25 -4.75 1.25 2.25] # [ 0.25 -1.75 0.25 1.25] # [-0.25 1.75 -1.25 -0.25] # [-0.75 3.25 -0.75 -1.75] # [ 3. -1. 1. -3. ] # [ 1.75 -1.25 -2.25 1.75] # [ 4.25 -4.75 4.25 -3.75]]
reshape()
β ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΡΠ΅Π΄Π½ΠΈΡ
Π² ΡΡΠΎΠ»Π±Π΅Ρ. ΠΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π΅ΠΊΡΠΎΡ Π±ΡΠ» ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ.ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Numpy ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Python. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. ΠΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π±Π΅Π· ΡΠΈΠΊΠ»ΠΎΠ² β Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΡΠ΅Π·Π°Π½ΠΈΠ΅ | Python: Numpy-ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ 15+ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ ΠΊΡΡΡΠ°ΠΌ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡΠ΅Π½Π°ΠΆΠ΅ΡΠΎΠΌ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π΄Π°Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π³ΡΠ°ΡΠ΅ Β«ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΒ»
- ΠΡΠΊΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡ Π² Π³ΡΠ°ΡΠ΅ Β«ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Β»
- ΠΠ΅ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠΈΡΠ»Π° Π² Π³ΡΠ°ΡΠ΅ Β«Π‘ΡΠΌΠΌΠ° ΡΠ΄Π΅Π»ΠΊΠΈΒ»
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ Python ΠΈΡΠΊΠ°ΡΡ ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ filter()
. Π Numpy Π΅ΡΡΡ ΡΡ
ΠΎΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ numpy.ndarray
.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΡΠ»Π΅Π²Ρ ΠΌΠ°ΡΠΊΡ
ΠΠ»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° numpy.ndarray
ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΡΠ»Π΅Π²Ρ ΠΌΠ°ΡΠΊΠΈ β ΠΌΠ°ΡΡΠΈΠ²Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ True
ΠΈ False
. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Π±ΡΠ»Π΅Π²Ρ ΠΌΠ°ΡΠΊΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ:
- ΠΡΠ»ΠΈ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΠΌΠ°ΡΠΊΠ΅ ΡΡΠΎΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
True
, ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² - ΠΡΠ»ΠΈ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΠΎΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
False
, ΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π±ΠΎΡΡ Ρ Π±ΡΠ»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΠΊΠΎΠΉ:
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
True
ΠΈFalse
Π²ΡΡΡΠ½ΡΡ - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π°Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
- ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΊΠ΅ β ΠΏΠΎΠΌΠ΅Π½ΡΡΡ
True
Π½Π°False
ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ
Π’Π°ΠΊ Π²ΡΠ΅ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠ³Π»ΡΠ΄ΡΡ Π² ΠΊΠΎΠ΄Π΅:
import numpy as np # ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² base_array = np. array([0, 1, 2, 3, 4, 5, 6, 7,]) print(base_array) # => [0 1 2 3 4 5 6 7] # Π ΡΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ handmade_mask = [True, True, True, False, False, False, False, False,] print(handmade_mask) # => [True, True, True, False, False, False, False, False] # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ compare_mask = base_array < 3 print(compare_mask) # => [ True True True False False False False False] # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ ΠΏΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΡΡΠΈΡΠ°Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ opposite_compare_mask = ~(base_array >= 3) print(opposite_compare_mask) # => [ True True True False False False False False]
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΡΡΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ ΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ°ΡΠΊΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΡΠ»Π΅Π²Ρ ΠΌΠ°ΡΠΊΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π΅Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
print(base_array[handmade_mask]) # => [0 1 2] print(base_array[compare_mask]) # => [0 1 2] print(base_array[opposite_compare_mask]) # => [0 1 2]
ΠΠ°ΠΊ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π²ΡΡΠ΅, Π² Python ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ filter()
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ:
# Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ filter filtered_list = list( filter( lambda x: x < 3, [0, 1, 2, 3, 4, 5, 6, 7,] ) ) print(filtered_list) # => [0 1 2]
ΠΠ»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° numpy. ndarray
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΌΠ΅ΡΠΎΠ΄ numpy.fromiter()
:
# ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ fromiter, ΡΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°Π΄Π°Π΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ dtype filtered_array = np.fromiter( (base_array_element for base_array_element in base_array if base_array_element < 3), dtype = base_array.dtype ) print(filtered_array) # => [0 1 2]
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΈΡ
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ numpy.where()
:
# ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° 0 print(np.where(base_array < 3, base_array, 0)) # => [0 1 2 0 0 0 0 0]
ΠΡΠ»ΠΈ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π»ΡΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΊΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ:
# ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° 0 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΠΊΠΈ compare_masks = (base_array > 5) | (base_array < 3) print(np.where(compare_masks, base_array, 0)) # => [0 1 2 0 0 0 6 7]
Π ΡΠ΅Π°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ·-Π·Π° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΎΡΠ°, ΡΠ±ΠΎΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π² Π² Numpy ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
numpy.nan
(not a number):
# ΠΠ°ΡΡΠΈΠ² Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ raw_array = np.array([0, 1, None, 3, 4, None, 6, 7,], dtype=np.float64) print(raw_array) # => [ 0. 1. nan 3. 4. nan 6. 7.]
ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ, ΡΠΈΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ:
# ΠΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² nan_mask = np.isnan(raw_array) print(nan_mask) # => [False False True False False True False False]
ΠΠ°ΡΠ΅ΠΌ ΡΠΈΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²:
# ΠΠ°ΡΠΊΠ° Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ not_nan_mask = ~nan_mask print(raw_array[not_nan_mask]) # => [0. 1. 3. 4. 6. 7.]
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
# ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π½Π° 0 print(np. where(nan_mask, 0, raw_array)) # => [0. 1. 0. 3. 4. 0. 6. 7.]
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ°ΡΠΊΡ Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
ΠΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. Π’Π΅ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ β ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΡΡΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌ Π²ΡΠ±ΡΠΎΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² β Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ 200 ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π§ΠΈΡΠ»ΠΎ 200 Π²ΡΠ±ΡΠ°Π½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π° ΡΠΊΠ»Π°Π΄Π΅. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π² Π΄Π΅Π½Ρ Π½Π΅ Π±ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 200 ΠΏΡΠΎΠ΄Π°ΠΆ
- ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΠ±ΡΠΎΡΡ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π½Π° ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆ
ΠΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΡΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ:
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π°ΠΆ ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² orders_values = [ [7, 1, -7, None], [1000, 2, 4, None], [3, None, 503, 3], [8, 12, 8, 7], [15, 11, None, 9], [None, 18, 17, -21], [252, 16, 25, 17] ] # ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΠΌ Π² Numpy-ΠΌΠ°ΡΡΠΈΠ² orders = np. array(orders_values, dtype=np.float64) print(orders) # => [[ 7. 1. -7. nan] # [1000. 2. 4. nan] # [ 3. nan 503. 3.] # [ 8. 12. 8. 7.] # [ 15. 11. nan 9.] # [ nan 18. 17. -21.] # [ 252. 16. 25. 17.]]
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΠΊΠΈ:
# ΠΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ negative_values = orders < 0 print(orders[negative_values]) # => [ -7. -21.] # ΠΠ°ΡΠΊΠ° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ big_values = orders > 200 print(orders[big_values]) # => [1000. 503. 252.] # ΠΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° nan_values = np.isnan(orders) print(sum(sum(nan_values))) # => 5
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΠΊΠΎΠΉ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΡΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΠΎΠΊ:
# ΠΠ°ΡΠΊΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ normal_mask = ~negative_values & ~big_values & ~nan_values # Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·ΠΎΠ² normal_values = orders[normal_mask] # Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π°ΠΊΠ°Π·ΠΎΠ² normal_mean = normal_values. mean() normal_mean = int(normal_mean) print(normal_mean) # => 10
ΠΠ°Π»Π΅Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ:
# ΠΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° ΡΡΠ΅Π΄Π½Π΅Π΅ prepared_orders = np.where(normal_mask, orders, normal_mean) print(prepared_orders) # => [[ 7. 1. 10. 10.] # [10. 2. 4. 10.] # [ 3. 10. 10. 3.] # [ 8. 12. 8. 7.] # [15. 11. 10. 9.] # [10. 18. 17. 10.] # [10. 16. 25. 17.]]
ΠΡΠ²ΠΎΠ΄Ρ
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Python
ΠΠ»Π°Π²Π½Π°Ρ/ΠΠ»ΠΎΠ³/Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°/Python Π·Π° 5 ΠΌΠΈΠ½ΡΡ: ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Python
17 ΡΠ΅Π½ΡΡΠ±ΡΡ 2021 Π³. β ΡΡΠ΅Π½ΠΈΠ΅ 5 ΠΌΠΈΠ½. ΡΠ·ΡΠΊΠΈ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½Π°ΡΠΊΠ° ΠΎ Π΄Π°Π½Π½ΡΡ , ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ°ΡΡΠΈΠ²Ρ β Π²Π°ΠΆΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π² Python. ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ ΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ Python ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ Python, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ :
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Python?
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Python
- ΠΠ±ΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
- 2D-ΠΌΠ°ΡΡΠΈΠ²Ρ Python
- ΠΠΎΠ΄Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΎΠ³ΠΎΠ² ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Python?
ΠΠ°ΡΡΠΈΠ² Python β ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΠΌΠ΅ΡΡΠ΅. ΠΠ°ΡΡΠΈΠ²Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π° ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΊΠ°ΠΊ Π½Π°ΡΠΊΠ° ΠΎ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΠΈΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ½ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° β ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Ρ
ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Β«Π‘ΠΏΠΎΡΒ», Β«ΠΠ°ΠΊΡΒ» ΠΈ Β«Π‘ΡΠΌΒ» ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠ±Π°ΠΊ
ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ½Π΄Π΅ΠΊΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΏΠΈΡΠΊΠΈ Python?
Π₯ΠΎΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡ ΠΏΡΡΠ°ΡΡ, ΡΠΏΠΈΡΠΎΠΊ Python ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Π° Python. Π‘ΠΏΠΈΡΠΎΠΊ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, Π° ΡΡΠ΅ΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊ ΠΈ Ρ. Π΄. Π‘ΠΏΠΈΡΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ, ΠΈ ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. .
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΠΏΠΈΡΠΊΠΈ Python Π² ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy:
numpy.ΠΌΠ°ΡΡΠΈΠ² ()
numpy.asarray()
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Python
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ import array
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Python:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΠ΅ΡΡΠΎΠ³", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ". ", "ΠΠ΅ΡΡΠΈ"]
print(dogs)
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Python.
ΠΠ±ΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ append()
:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΠ΅ΡΡΠΎΠ³", " ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
dogs.append("Π ΠΈΠ³Π»ΠΈ")
print(dogs)
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ insert()
Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΠ΅ΡΡΠΎΠ³", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
dogs.insert(1, "Wrigley")
print(dogs)
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΡΡ ΠΊ Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΠΎΠΌΡ Π½ΠΎΠΌΠ΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΡΠΊ", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
x = dogs[0]
print(x)
ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΎΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π²Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΡΠΊ", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
ΡΠΎΠ±Π°ΠΊΠΈ[0] = "ΠΠΆΠ΅ΠΊ"
print(dogs)
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Python pop()
Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠ±Π°ΠΊ
:
ΡΠΎΠ±Π°ΠΊ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΠ΅ΡΡΠΎΠ³", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "Buddy", "Milo", "Murphy"]
dogs.pop(9)
print(dogs)
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ remove()
ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΠ΅ΡΡΠΎΠ³", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
dogs.remove("Duke")
print(dogs)
ΠΠ°ΠΉΡΠΈ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ len()
Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΠ±Π°ΠΊ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", " ΠΠ΅ΡΡΠΎΠ³", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ"]
x = len(dogs)
print(x)
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ Python Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ 1-Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Educative Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΆΠΈΠ²ΡΡ ΡΡΠ΅Π΄Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΡΠΌ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ.
Python Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Python
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ sort()
Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ±ΡΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΡΠΈΡΠ»Π° = [5, 13, 25, 2, 98, 56, 4, 8]
ΡΠΈΡΠ»Π°.sort()
print(ΡΠΈΡΠ»Π°)
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΡΠΈΡΠ»Π° = [5, 13, 25, 2, 98, 56, 4, 8]
ΡΠΈΡΠ»Π°. sort(reverse=True)
print(ΡΠΈΡΠ»Π°)
ΠΠΎΠ΄ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
9 0002 ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ count()
, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«SpotΒ» ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π½Π°ΡΠΈΡ
ΡΠΎΠ±Π°ΠΊ
ΠΌΠ°ΡΡΠΈΠ²:ΡΠΎΠ±Π°ΠΊΠΈ = ["Π‘ΠΏΠΎΡ", "ΠΠ°ΠΊΡ", "Π‘ΡΠΌ", "Π§Π°ΡΠ»ΠΈ", "ΠΡΠΏΠ΅Ρ", "ΠΡΠΊ", "ΠΠ΅Π΄Π²Π΅Π΄Ρ", "ΠΠ°Π΄Π΄ΠΈ", "ΠΠ°ΠΉΠ»ΠΎ", "ΠΠ΅ΡΡΠΈ" ]
x = dogs.count("Spot")
print(x)
ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Python
ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ². Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ. Π Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π½Ρ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ: ΠΎΠ΄Π½Ρ ΡΠ°Π½ΠΎ ΡΡΡΠΎΠΌ, ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡΡΠΎΠΌ, ΠΎΠ΄Π½Ρ Π΄Π½Π΅ΠΌ ββΠΈ ΠΎΠ΄Π½Ρ Π²Π΅ΡΠ΅ΡΠΎΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ = [[52, 60, 66, 63], [50, 58, 62, 60], [53, 61, 67,64], [51, 59, 65, 62]]
We ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ 2D-ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΎΠ³ΠΎΠ² ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΠ΅ΠΌ Ρ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ ΡΠ°Π³Π°ΠΌΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Python! ΠΠ°ΡΡΠΈΠ²Ρ ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠ°ΠΌ Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π°Π»Π΅Π΅, Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- Π‘Π»ΠΎΠ²Π°ΡΠΈ Python
- ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ Python
- Π‘ΡΡΠΎΠΊΠΈ Python
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΠ»Π°Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Educative Python Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² . ΠΠ° ΡΡΠΎΠΌ ΠΏΡΡΠΈ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² Python, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π²Π΅Π±-Π·Π°Π΄Π°ΡΠΈ. Π ΠΊΠΎΠ½ΡΡ Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π² Π²Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ!
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Python
- ΠΠ½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π» ΠΏΡΠΎΡΠ΅: ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Python Pandas
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² JavaScript, C++ ΠΈ Python
- 50 Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ Python
ΠΠΠΠΠ‘ΠΠ BYErin Schaffer
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Python β ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Cython 3.
0.0rc1.dev0ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°:
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π»Ρ Cython ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
cdef
, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ C/C++.Π§ΠΈΡΡΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Cython Π² ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Python, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΡΠΈΠΏΠ° PEP-484 ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ PEP 526.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ C Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Python, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ
ΠΌΠΎΠ΄ΡΠ»Ρ cython
Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Python, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.ΠΈΠΌΠΏΠΎΡΡΠ½ΡΠΉ ΡΠΈΡΠΎΠ½
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΈΡΡΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python, ΠΌΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π΄Π°Π²Π½ΡΡ Π Π΅Π»ΠΈΠ· Cython 3, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π΄Π΅ΡΡ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ 0.29.x.
Python ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ Π²ΠΈΠ΄Ρ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ C Python
ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Cython. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Python.
ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ°Ρ
ΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΡΡΡ
.
ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠΌ Ρ malloc()
ΠΈ free()
, ΡΡΠΎΡ
Π΄Π°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Python, ΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ
Π ΠΌΠ°ΡΡΠΈΠ²Π΅ Numpy Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²
ΠΠΎΠ΄ΡΠ»Ρ Π²ΡΡΡΠΎΠ΅Π½ ΠΊΠ°ΠΊ Π² Python, ΡΠ°ΠΊ ΠΈ Π² Cython.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ
ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° cython.cimports.cpython ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠΏΠΎΡΡΠ° a = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [1, 2, 3])) ca = cython.declare(cython.int[:], Π°) ΠΏΠ΅ΡΠ°ΡΡ (ca [0])
NB: ΠΈΠΌΠΏΠΎΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° Python Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½. Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ cimport Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ· Cython.
ΠΠ°ΡΡΠΈΠ² Python ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΠΈΠΏΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΠΈΠΏΠΎΠ² ΡΠΌ. Π² Python Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΠ°ΡΡΠΈΠ² Python ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΡΠΈΠΏΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π±ΡΠ΄ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²ΠΈΠ΄. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π°Π±ΠΈΡΠ°Π΅ΡΡΡ:
ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° cython.cimports.cpython ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠΏΠΎΡΡΠ° a = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [1, 2, 3])) ca = cython.declare(cython.int[:], Π°) @cython.cfunc def overhead(a: cython.object) -> cython.int: ca: cython.int[:] = Π° Π²ΠΎΠ·Π²ΡΠ°Ρ ca[0] @cython.cfunc def no_overhead(ca: cython.int[:]) -> cython.int: Π²ΠΎΠ·Π²ΡΠ°Ρ ca[0] print(overhead(a)) # Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ print(no_overhead(ca)) # ca ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²
ΠΠ΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ C Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ C Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΠΈ Π³ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ.
ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° cython.cimports.cpython ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠΏΠΎΡΡΠ° a = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [1, 2, 3])) # Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ: ΠΏΠ΅ΡΠ°ΡΡ (a.data.as_ints [0]) ΠΈΠ· cython.cimports.libc.string ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ memset Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΌΡΡΠΈ (a.data.as_voidptr, 0, Π΄Π»ΠΈΠ½Π° (a) * cython.sizeof (cython.int))
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ Python, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°, ΡΡΠΎ ΠΈ ΡΠ°Π±Π»ΠΎΠ½, ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΡΠΈΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½ΠΎΠ»Ρ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ.
ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° cython.cimports.cpython ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠΏΠΎΡΡΠ° int_array_template = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [])) cython.declare(newarray=ΠΌΠ°ΡΡΠΈΠ². ΠΌΠ°ΡΡΠΈΠ²) # ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 3 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°, ΡΡΠΎ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ newarray = array.clone (int_array_template, 3, Π½ΠΎΠ»Ρ = Π»ΠΎΠΆΡ)
ΠΠ°ΡΡΠΈΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ; ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ.
ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° cython.cimports.cpython ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠΏΠΎΡΡΠ° a = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [1, 2, 3])) b = cython.declare(ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ², ΠΌΠ°ΡΡΠΈΠ².ΠΌΠ°ΡΡΠΈΠ²('i', [4, 5, 6])) # ΡΠ°ΡΡΠΈΡΠΈΡΡ a Ρ ΠΏΠΎΠΌΠΎΡΡΡ b, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ².ΡΠ°ΡΡΠΈΡΠΈΡΡ(Π°, Π±) # ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ a, ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° array.resize (Π°, Π΄Π»ΠΈΠ½Π° (Π°) - Π΄Π»ΠΈΠ½Π° (Π±))
Π‘ΡΡΠ»ΠΊΠ° API
ΠΠΎΠ»Ρ Π΄Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΠ΅.as_voidptr data.as_chars data.as_schars data.as_uchars data.as_shorts data.as_ushorts data.as_ints data.as_uints data.as_longs data.as_ulongs data.as_longlongs # ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Python >=3 data.as_ulonglongs # ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Python >=3 data. as_floats data.as_doubles data.as_pyunicodes
ΠΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ C Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ;
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, myarray.data.as_ints
.
Π€ΡΠ½ΠΊΡΠΈΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Cython ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
@cython.cfunc @cython.exceptval(-1) def resize(self: array.array, n: cython.Py_ssize_t) -> cython.int
ΠΡΡΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°/ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠΉ; ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΡΠ½ΠΎ Π΄ΠΎ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠΌΠΌΡ.
@cython.cfunc @cython.exceptval(-1) def resize_smart(self: array.array, n: cython.Py_ssize_t) -> cython.int
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠΉ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°ΠΌΠΎΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ.
@cython.cfunc @cython.inline def clone (ΡΠ°Π±Π»ΠΎΠ½: array.array, Π΄Π»ΠΈΠ½Π°: cython.Py_ssize_t, Π½ΠΎΠ»Ρ: cython.bint) -> array.array
ΠΡΡΡΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ.