NumPy Массивыг хуваах /Split/
Массивыг хуваах гэдэг нь массивыг нэгтгэхийн урвуу үйлдэл гэж ойлгож болно.
Массивыг array_split()
функцийг ашиглан хуваадаг бөгөөд параметрээр хуваахыг хүссэн массив болон хуваах тоог дамжуулна.
Жишээ нь
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
newmas = np.array_split((mas, 3))
print (newmas)
Үр дүн
[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])]
Буцаах утга нь гурван массив агуулсан массив байна.
Хэрэв массив шаардлагатай элементээс бага элементтэй бол тохируулгыг төгсгөлийн элементээс хийх болно.
Жишээ нь
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
newmas = np.array_split((mas, 4))
print (newmas)
Үр дүн
[array([1, 2, 3]), array([4, 5]), array([6, 7]), array([8, 9])]
Хуваасан массивд хандах
Массивыг array_split()
аргаар хуваасан бол энэ нь массив дотор агуулагдаж буй массив гэсэн үг бөгөөд массивын элементэд ханддагтай адил үр дүн авах боломжтой.
Жишээ нь
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
newmas = np.array_split((mas, 3))
print (newmas[0])
print (newmas[1])
print (newmas[2])
Үр дүн
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2-D массив хуваах
2-D массив хуваахад ижил бичиглэл ашиглана.
Жишээ нь
import numpy as np
mas = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newmas = np.array_split((mas, 3))
print (newmas)
Үр дүн
[array([[1, 2, 3],
[4, 5, 6]]), array([[7, 8, 9],
[10, 11, 12]]), array([[ 13, 14, 15],
[16, 17, 18]])]
Массивыг аль тэнхлэгт хуваахыг зааж өгч болно.
Дээрх 2-D Массивыг босоо тэнхлэгт буюу мөрийн дагуу 2-D буюу хоёр хэмжээс 3-н массив болгон хувааж болно.
Жишээ нь
import numpy as np
mas = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newmas = np.array_split((mas, 3, asis = 1))
print (newmas)
Үр дүн
[array([[ 1],
[ 4],
[ 7],
[ 10],
[ 13],
[ 16]]), array([[ 2],
[ 5],
[ 8],
[ 11],
[ 17]]), array([[ 3],
[ 6],
[ 9],
[ 12],
[ 15],
[ 18]])]
Өөр нэгэн шийдэл нь hstack()
-н эсрэг тохиолдол буюу hsplit()
юм.
Жишээ нь
import numpy as np
mas = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newmas = np.hsplit((mas, 3))
print (newmas)
Үр дүн
[array([[ 1],
[ 4],
[ 7],
[ 10],
[ 13],
[ 16]]), array([[ 2],
[ 5],
[ 8],
[ 11],
[ 17]]), array([[ 3],
[ 6],
[ 9],
[ 12],
[ 15],
[ 18]])]