NUMPY
NUMPY ARRAY
Python’daki listelere çok benzerdir. Numoy arrayleri sadece aynı veri türüne sahip listeleri barındırabilir. Arrayler daha az hafızada yer kaplar.
Array oluşturmak için yapmamız gereken
1
2
| a = np.array([1, 2, 3, 4])
type(a)
|
Buna ek olarak da, arraylere tuple ekleyebiliriz. Örnek olarak
1
2
3
| a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Birinci eleman {}".format(a[0]))
print("Birinci elemanın birinci elemanı {}".format(a[0][0]))
|
1
2
| Birinci eleman [1 2 3]
Birinci elemanın birinci elemanı 1
|
ARRAY ÖZELLİKLERİ
Arrayin boyutlarını öğrenmek için yapmamız gereken **array.shape**
yazmak olacaktır
Arrayin rankini öğrenmek için yapmamız gereken **array.ndim**
yazmak olacaktır
Arrayin boyutunu öğrenmek için yapmamız gereken **array.size**
yazmak olacaktır
Arrayin barındırdığı veri tipini öğrenmek için yapmamız gereken **array.dtype**
yazmak olacaktır
1
2
3
4
| print("Arrayin boyutları {}".format(a.shape))
print("Arrayin ranki {}".format(a.ndim))
print("Arraydeki eleman sayısı {}".format(a.size))
print("Arrayin veri tipi {}".format(a.dtype))
|
1
2
3
4
| Arrayin boyutları (3, 3)
Arrayin ranki 2
Arraydeki eleman sayısı 9
Arrayin veri tipi int64
|
ARRAY FONKSİYONLARI
Arraylerden Sıfır Oluşturmak için yapmamız gereken shape yerine istediğimiz boyutları girmek. Numpy bizim için gerekli arrayi oluşturacaktır.
1
2
3
| shape = (2, 2)
zeros = np.zeros(shape)
zeros
|
1
2
| array([[0., 0.],
[0., 0.]])
|
Arraylerden Bir Oluşturmak için yapmamız gereken shape yerine istediğimiz boyutları girmek. Numpy bizim için gerekli arrayi oluşturacaktır.
1
2
3
| shape = (2, 2)
ones = np.ones(shape)
ones
|
1
2
| array([[1., 1.],
[1., 1.]])
|
İstediğimiz bir değerle istediğimiz boyutta bir array oluşturmak için ise np.full
kullanıyoruz.
1
2
| a = np.full((6,5), 29)
print(a)
|
1
2
3
4
5
6
| [[29 29 29 29 29]
[29 29 29 29 29]
[29 29 29 29 29]
[29 29 29 29 29]
[29 29 29 29 29]
[29 29 29 29 29]]
|
İdentity Matrix (Birim Matris) oluşturmak için ise np.eye
yazmak olacaktır.
1
2
3
| array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
|
Eğer belirli bir aralıkta belirli sayılarla artan bir array oluşturmak istiyorsak np.arange
kullanmalıyız.
1
2
| rangearray = np.arange(10,100,10, dtype=float)
rangearray
|
1
| array([10., 20., 30., 40., 50., 60., 70., 80., 90.])
|
Eğer yine belirli bir aralıkta değerler oluşturmak istiyorsak ve kaç tane oluşturacağımızı biliyorsak np.linspace
kullanabiliriz.
1
2
| linarray = np.linspace(10, 100, 5)
linarray
|
1
| array([ 10. , 32.5, 55. , 77.5, 100. ])
|
np.arange
de 100 dahil değildi. Ancak np.linspace
de dahil. Bunu da gözden kaçırmamak gerekir.
Şimdi ise çok önemli bir fonksiyon olan np.reshape
fonksiyonuna bakalım. Bu fonksiyon ile arraylerimizi istediğimiz formata çevirme şansımız var.
1
2
3
4
| array = np.arange(20)
print("Önceki hali : \n", array)
new_array = np.reshape(array, (4,5))
print("Sonraki hali : \n", new_array)
|
1
2
3
4
5
6
7
| Önceki hali :
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
Sonraki hali :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]
|
ARRAY INDEKSLEME (ARRAY INDEXING)
Numpy arrayleri indekslemede çok kolaylık sağlıyor.
Bir Boyutlu Array
1
| a1 = np.array([1, 3, 4, 5, 2, 10])
|
ÇOK BOYUTLU ARRAY
1
2
3
4
| a2 = np.array([[3, 4, 5, 6],
[1, 3, 7, 2],
[8, 4, 5, 10],
[12, 124, 125, 126]])
|
1
| a2[2, -1] # 2.indexin son elemanı
|
1
2
| a2[2, 0] = 100 # 2.elemanın 0.elemanını 100 yap
a2
|
1
2
3
4
| array([[ 3, 4, 5, 6],
[ 1, 3, 7, 2],
[100, 4, 5, 10],
[ 12, 124, 125, 126]])
|
1
| a2[[0, 0, 2, 1]] # 0.index, 0.index, 2.index, 1.index
|
1
2
3
4
| array([[ 3, 4, 5, 6],
[ 3, 4, 5, 6],
[100, 4, 5, 10],
[ 1, 3, 7, 2]])
|
1
| a2[:2, ::2] # 2.satıra kadar 0 ile 2. indexler
|
1
2
| array([[3, 5],
[1, 7]])
|
1
| a2[::-1, ::-1] # Arrayi ters çevir
|
1
2
3
4
| array([[126, 125, 124, 12],
[ 10, 5, 4, 100],
[ 2, 7, 3, 1],
[ 6, 5, 4, 3]])
|
1
| array([ 3, 1, 100, 12])
|
I will ad other features to see how it is going