[:,:10]という記法を使っているのでnumpyのndarrayですね。
ご質問の件は、ndarrayのスライスです。
リストなどの列型のスライスと表記は同じです。ndarrayの場合にはスライスは、viewとなるので注意してください。
一般的なスライスは以下のようなものです。
python
1>>> total_list = [0,1,2,3]
2>>> sub_list_3 = total_list[:3]
3>>> print(sub_list_3)
4[0, 1, 2]
5>>> sub_list_3[0] = 100
6>>> print(sub_list_3)
7[100, 1, 2]
8>>> print(total_list)
9[0, 1, 2, 3]
リストのスライスはリストです。リストのスライスの値を変えても元のリストは変わりません。
ndarrayのスライスがviewであるというのは、同じデータを共有していて見え方が違うだけだという意味です。したがって、スライスの要素の変更は元のndarrayにも反映します。
以下の例をご参照ください。
python
1>>> total_array = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23]])
2>>> sub_array = total_array[:,:3]
3>>> print(sub_array)
4[[ 0 1 2]
5 [10 11 12]
6 [20 21 22]]
7>>> sub_array[0,0] = 100
8>>> print(sub_array)
9[[100 1 2]
10 [ 10 11 12]
11 [ 20 21 22]]
12>>> print(total_array)
13[[100 1 2 3]
14 [ 10 11 12 13]
15 [ 20 21 22 23]]