> For the complete documentation index, see [llms.txt](https://mehmet-akif-akkus.gitbook.io/numpy-ile-veri-bilimi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mehmet-akif-akkus.gitbook.io/numpy-ile-veri-bilimi/chapter1.md).

# Numpy dizileri oluşturma

Numpy dizileri matematiksel işlemler için önemli kolaylıklar sağlamaktadır. Numpy dizi elemanlarına aynı python dilindeki dizi elemanlarına eriştiğimiz gibi erişebiliriz. Bunun için diğer programlama dilllerine benzer şekilde indekleme mekanizması ile ulaşıyoruz.

Numpy'da diziler ile alakalı bir kaç özelliğe yeri gelmişken değinelim:

* Numpy dizilerinin veri türü *ndarray* dir.&#x20;
* Numpy dizileri tek boyutlu olabildiği gibi, çok boyutlu matrisler de olabilir.
* Python dizilerinden numpy dizileri oluştururken türü (int, float) belirlenebilir.
  * Eğer elle girilmezse değerlerin türüne göre otomatik oluşturulur.

Hatırlanacağı üzere numpy kütüphanesini kullanabilmemiz için bu kütüphaneyi python'a eklememiz gerekiyor. Bunun için import komutunu kullanıyoruz. Numpy genellikle ***np*** kısaltması ile kullanılır. Zorunluluktan ziyade bu bir gelenektir.

Haydi örneklerle ilk numpy kodlarımızı yazmaya başlayalım!

## Tek boyutlu dizi (vektör) oluşturma

Öncelikle tek boyutlu bir numpy dizisi oluşturalım. (Buna vektör de diyebiliriz. Yazı içinde dönüşümlü olarak kullanılacak. ) Bunun için **np.array** metodunu kullanıyor olacağız. Vektör oluştururken python listesini bu metoda parametre olarak veriyoruz.

```python
import numpy as np           # numpy kütüphanesi eklendi 

a = np.array([1, 2, 3, 4])   # tek boyutlu dizi oluşturduk
```

Bu komut şöyle bir tek boyutlu dizi oluşturur. Boyutu 4 ve içeriği sırasıyla şu sayılardan oluşur.

```
┌───┬───┬───┬───┐
│ 1 │ 2 │ 3 │ 4 │
└───┴───┴───┴───┘
└───────────────┘
    a.size (=4)
```

Şimdi dizimizle alakalı bazı detaylara göz atalım.

```python
print a                   # [1 2 3 4]
print a.size              # 4
print type(a)             # "<type 'numpy.ndarray'>" şeklinde türün ne olduğunu yazar
print a.dtype             # int64
```

Gördüğünüz gibi **print** komutu kullanarak dizinin içeriğini yazdırabilir, **size** ile boyutunu öğrenebiliriz. **np.array** ile oluşturduğumuz dizilerin türü numpy.ndarray olarak yazacaktır. Dizimizin veri türüne ise **dtype** ile bakabiliriz.

Şimdi gelin bu dizi değerlerine sırasıyla erişelim

```python
print a[0], a[1], a[2]    # "1 2 3" yazdırır
a[0] = 5                  # dizinin bir elemanı değerini değiştirelim
print a                   # artık "[5, 2, 3, 4]" yazdırır
```

Oluşturduğumuz dizinin boyutlarını **shape** komutu ile öğrenebiliriz. Bu komut tek boyutlu diziler için aşağıdaki çıktıyı üretmektedir. 2. boyut olmadığından bunu virgülden sonra hiç bir eleman olmamasından anlayabiliriz.

```python
print a.shape             # "(4,)"  yazdırır
```

Şimdi sıra geldi 2 boyutlu bir dizi oluşturmaya.

## 2 boyutlu dizi oluşturma

2 boyutlu diziler doğrudan python listeleri ile oluşturulabilir. 2 boyutlu diziye matris terimini de kullanabiliriz.

Aşağıdaki kod parçası 2x3 boyutlarında bir matris oluşturmaktadır. Python iç-içe listelerini kullanarak bunu yapabiliriz. İç-içe listelerdeki ilk eleman 2-boyutlu dizinin ilk satırına denk gelmektedir.

```python
b = np.array([[1.2, 1.5, 3.4], [4, 5, 6]])    # 2 boyutlu dizi oluştur
```

Aşağıdaki özelliklere sahip bir 2 boyutlu dizi oluşturmuş olacağız. Burada farklı olarak 2 boyutlu dizinin veri türü noktalı sayı veri türü olan **float64** olacaktır. Numpy bizim için veri türünü otomatik olarak algıladı ve matrisi float64 türünde oluşturdu.

```
                 shape[1]
                   (=3)
            ┌─────────────────┐
         ┌  ┌─────┬─────┬─────┐  
         │  │ 1.2 │ 1.5 │ 3.4 │  
shape[0] │  ├─────┼─────┼─────┤  
  (=2)   │  │  4. │  5. │  6. │
         └  └─────┴─────┴─────┘
```

Benzer şekilde yine gelin dizimizle alakalı bazı detaylara göz atalım.

```python
print b                      # [[ 1.2  1.5  3.4]
                             #  [ 4.   5.   6. ]]

print b.size                 # 6
print b.dtype                # float64

print b.shape                      # "(2, 3)" yazdırır
print b[0, 0], b[0, 1], b[1, 1]    # "1.2 1.5 4.0" yazdırır
```

Dizinin içeriğini görmek için **print** komutunu kullanabilir, boyutlarına baktığımızda **2x3** olduğunu ve elemanlarına da yine benzer şekilde dizi erişimi yaparak erişebilir ve ekrana yazdırabiliriz. Burada dikkat edilmesi gerekli noktanın: b\[0,1] gibi bir komutta ilk indeksin satırda, ikincisinin de sütun da ilerlediğini ve sol üstteki ilk elemanın 0,0 olduğunu hatırlatmak isterim.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mehmet-akif-akkus.gitbook.io/numpy-ile-veri-bilimi/chapter1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
