Bileşim, iki veya daha fazla değişken tarafından ortaklaşa kullanılan tek bir bellek birimidir. Burada bahsi geçen değişkenler farklı veri türünden olabilir. Ancak, aynı bellek bölgesini paylaşan değişkenlerden sadece bir tanesi aynı anda bellek bölgesini kullanabilir. Genel görünüşü ile yapılara benzeyen bileşimlerin genel yapısı aşağıdaki gösterilmektedir:
Devamı...
Bir C programının çalıştığı bilgisayarın belleği aşağıdaki bölümlerden oluşur.
- Kod (Metin) bölümü (Code segment)
- İlk değer atanmış veri bölümü (Initialized data segment)
- İlk değer atanmamış veri bölümü (Uninitialized data segment)
- Stack
- Heap

Kod (Metin) bölümü (Code segment)
Code segment bir C programının çalıştırılabilir talimatlarını içeren bir bellek bölgesidir.
Code segment derlenmiş programın ikili sayı sistemine göre oluşturulmuş değerlerini içerir.
Yanlışlıkla değiştirilmemesi için, code segment sadece okunur olarak düzenlenmiştir.
Code segment, heap ve stack bellek bölümlerinin aşırı kullanımlarının kendi bellek bölgesi üzerine yazma sorununu engellemek için heap ve stack bölgelerinin altında yer alır.
Fonksiyonlar ve karakter dizisi sabitleri bu bölümde yer alır.
İlk değer atanmış veri bölümü (Initialized data segment)
İlk değer atanmış veri bölümü, programcı tarafından ilk değer atanmış olan global ve static değişkenleri içeren, bir programın sanal adres boşluğunu bir parçasıdır.
İlk değer atanmış veri bölümü, değişkenlerin değerleri programın çalışma zamanında değiştirilebileceğinden, sadece okunur nitelikte değildir.
Bu bölüm ileride sadece okunur ve okunur-yazılır olarak iki bölüme ayrılabilir.
İlk değer atanmış veri bölümü, programın kaynak kodunda bir ilk değer atanmış olan global ve statik değişkenleri içerir.
İlk değer atanmamış veri bölümü (Uninitialized data segment)
İlk değer atanmamış veri bölümü, BSS bölümü olarak ta adlandırılır. Bu bölümdeki verilere, program çalışmaya başlamadan önce 0 değeri verilir.
İlk değer atanmamış veri bölümü, veri bölümünün sonundan başlar ve programın kaynak kodunda bir ilk değer verilmemiş ve otomatik olarak 0 değeri atanmış bütün global ve statik değişkenleri içerir.
Stack
Stack alanı geleneksel olarak heap alanına bitişiktir ve ters yöne doğru büyür; stack işaretçisi heap işaretçisi ile karşılaşması boş belleğin tükendiğini gösterir.
Belleğin üst bölümlerinde yer alan stack alanı, LIFO (Last In First Out - Son Giren İlk Çıkar) yapısına sahip program belleğini içerir. Standart PC x86 bilgisayar mimarisinde stack adresin sıfır değerine doğru büyür; diğer bazı mimarilerde ise ters yönde büyür. Bir “stack işaretçisi” kaydı stack bölümünün üstünü izler; stack içine her değer yerleştirilmesinde ayarlanır. Bir fonksiyon çağrısı için stack bölümüne aktarılan değer kümesine “stack çerçevesi” denir. Bir stack çerçevesi en az bir dönüş adresinden oluşur.
Stack bölümünde, bir fonksiyonun her çağrılmasında kaydedilen bilgilerle birlikte otomatik değişkenler saklanır. Bir fonksiyon her çağrıldığında, geri dönülecek yerin adresi ve fonksiyonu çağıranın ortamı ile ilgili bazı bilgisayar register değerleri gibi bilgiler stack bölümüne kaydedilir. Yeni çağrılan fonksiyon daha sonra otomatik ve geçici değişkenleri için stack içinde yer ayırır.
Stack bölümünde, fonksiyonun lokal değişkenleri (işaretçi değişkenler dahil), fonksiyona geçirilen parametreler ve fonksiyon dönüş adresi yer alır.
Heap
Heap dinamik bellek tahsisinin yapıldığı bellek bölümüdür.
Heap alanı BSS bölümünün sonunda başlar ve oradan daha büyük adreslere doğru büyür. Heap alanı, malloc(), realloc() ve free() fonksiyonları tarafından yönetilir.
Aşağıdaki örnekte, farklı bellek bölümlerine yapılan atamaları göstermek üzere, biri ilk değer atanmış diğeri atanmamış olmak üzere 2 adet global değişken, biri ilk değer atanmış diğeri atanmamış olmak üzere 2 adet static değişken, dinamik bellek tahsisi yapılan bir karakter işaretçisi ve bir adet yerel değişken oluşturularak, önce değişken değerleri sonra bellek adres değerleri ekrana yazılmıştır.
Örnek
Devamı...
İşaretsiz 2’lik sayı sisteminde (unsigned binary system) 8 bitlik alanda aşağıdaki tam sayıları ifade ediniz:
İşaretli ikilik sayı sisteminde (signed binary system)
- 1 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
- 1 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
- 2 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
- 2 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
- 4 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
- 4 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
- 8 byte’lık alanda yazılabilecek en küçük tamsayı nedir? (Yaklaşık bir sayı yazabilirsiniz.)
- 8 byte’lık alanda yazılabilecek en büyük tamsayı nedir? (Yaklaşık bir sayı yazabilirsiniz.)
İşaretli 2’lik sayı sisteminde (signed binary system) 8 bitlik alanda aşağıdaki tam sayıları ifade ediniz:
Aşağıdaki sayıların 2’ye tümleyenlerini (two’s complement) yazınız:
- 1001 0000
- 0000 0001
- 1111 0100
- 1111 1111
- 0101 1010
Aşağıda 10‘luk sayı sisteminde yazılmış tam sayıları 16‘lık sayı sisteminde ifade ediniz:
Aşağıda tanımlanan sayıları 16‘lık sayı sisteminde ifade ediniz:
- İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılabilecek en küçük tam sayı
- İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılabilecek en büyük tam sayı
- İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılan -1 değeri
İşaretsiz ikilik sayı sistemi için aşağıdaki cümlelerde işaretli yerleri doldurunuz:
- 1 byte‘lık alanda ifade edilebilecek en büyük tamsayı _____ değeridir.
- 16 bitlik bir sayının en yüksek anlamlı biti (most significant bit) sayının _____ bitidir.
- 8 bitlik bir sayının en düşük anlamlı biti (lest significant bit) sayının _____ bitidir.
- İşaretsiz (unsigned) bir tam sayının yalnızca tek bir biti ise o sayı 2‘nin _____.
- 15 sayısının 1‘e tümleyeni (one’s complement) _____ değeridir.
- Bir tamsayının 0.biti 1 ise o sayı _____.
Aşağıdaki bildirimlerden geçersiz olanları işaretleyiniz:
Devamı...
İfade (expression) adı verilen yapı içinde, program değişken ve sabitlerden oluşan verilere işlemciler yoluyla bir işlem yapar. Artık, ifadeleri oluşturan veri kavramını incelemeye başlayabiliriz.
Veri türleri
C’de aşağıda gösterilen 5 temel veri çeşidi vardır:
C temel veri türleri
| Anahtar kelime |
Veri türü |
| char |
Karakter |
| int |
Tamsayı |
| float |
Kayan noktalı sayı |
| double |
Çift duyarlıklı kayan noktalı sayı |
| void |
Değersiz |
Veri türü değiştiricileri (modifiers)
Sadece char, int ve double veri türlerinin önüne aşağıda gösterilen değiştiricileri koyarak, veri tiplerinin işaret (+/-) durumunu, byte olarak boyutlarını ve sınırlarını değiştirebiliriz. C++’da kullanılan veri türü değiştiricileri ve uygulandıkları veri türleri aşağıda gösterilmektedir:
C veri türü değiştiricileri
| Değiştirici |
Uygulandığı veri türü |
| signed |
char, int |
| unsigned |
char, int |
| long |
int, double |
| short |
int |
Değişken tanımlamalarında signed değiştirici ifadesi kullanıldığında, tanımlanan değişkenin ikili sayı sistem değeri içinde en üst sırada yer alan bit’i işaret bit’i olarak kullanılır. Bu değer 0 olursa sayı pozitif, 1 olursa sayı negatif olur. Ancak, bu durumda bir bit sayının işaretini belirlemek için ayrıldığından tanımlanan değişkene atanacak değer otomatik olarak azalır.
Bilgisayarlarda, bir sayının ikili sayı sisteminde gösteriminde en solda yer alan bit, sayının negatif veya pozitif olduğunu göstermek üzere, işaret bit’i olarak kullanılır.
Pozitif bir sayıyı negatif bir sayıya çevirmek için, sayıdaki bütün bit değerlerinin tersi alınır ve elde edilen sayıya 1 değeri eklenir.
Biri signed diğeri unsigned olan iki adet char ve iki adet short int veri türünden değişken tanımlayalım:
Devamı...
Programlarımızda, iki veya daha fazla seçenekli koşul kontrolü sağlayan bir sistemi oluşturmak için if deyimini kullanabiliriz. Seçeneğin fazla olduğu durumlarda, programın her durumda bütün if satırlarını tek tek kontrol etme zorunluluğundan dolayı, programın çalışmasını daha hızlı ve pratik bir duruma getirmek için if-else-if yapısını kullanabiliriz.
Switch kalıbı
Şimdi, C’de çok seçenekli bir sistem sağlayan switch kalıbını incelemeye çalışalım. yelim. switch kalıbı bir ifadenin sonucuna bağlı olarak içinde yer alan herhangi bir seçenekteki işlem satırlarını çalıştıran bir kalıptır. Bu kalıbın genel yapısını birlikte inceleyelim:
Devamı...
Sabitler, adından da anlaşılabileceği gibi, programlarda kullanılan değiştirilemeyen değerlerdir. Sabitler herhangi bir veri türünden tanımlanabilir. Sabitler genellikle programların başında değişkenlere bir ilk değer atama amacı ile veya farklı ifade oluşumlarının içinde kullanılabilir.
Farklı veri türünden yapılan sabit tanımlamaları aşağıda gösterilmektedir:
Devamı...
İfade kavramının işlem yapan parçası olarak ifade edebileceğimiz işlemciler, ifade içinde yer alan değişken ve sabitlere işlem yaparlar. Belli gruplar altında sınıflandırabileceğimiz işlemcileri sıra ile incelemeye çalışalım:
Aritmetik işlemciler
C dilinde kullanılan 5 adet aritmetik işlemci aşağıda gösterilmektedir. İşlemciler öncelik sırasına göre sıralanmıştır:
C ilişkisel işlemcileri
| İşlemci |
Kullanma amacı |
| + |
Toplama |
| - |
Çıkarma |
| * |
Çarpma |
| / |
Bölme |
| % |
Bölme işleminde kalanı verme |
C’de, işlemciler arasında öncelik sırası adı verilen bir kural vardır. İşlemci önceliği kavramının matematik derslerinde gördüğümüz konudan hiçbir farkı yoktur. Buna göre, eğer bir işlem satırında birden fazla işlemci kullanırsak, C işlemcilere öncelik sırasına göre işlem yapar. Bu şekilde işlem yapılınca, programlar bizim düşündüğünüzden farklı sonuçlar verebilir. Bazı işlemlerin önceliğini normal kuralların dışında belirlemek istediğimizde, işlemi parantez içine almak yeterlidir.
% işlemcisi dışında kalan bütün aritmetik işlemcilerini temel veri türlerinin tamamı ile birlikte kullanabiliiz. % işlemcisi ise bölme işleminin kalanını verdiğinden sadece int veri türü ile kullanılabilir.
- işlemcisini hem çıkarma işlemi, hem de sayıların negatif değerlerini göstermek için kullanabiliriz.
Şimdi, örneklerle öğrendiklerimizi incelemeye çalışalım:
Örnek
Devamı...
Koşula bağlı çalışma
C’de, bazı durumlarda belirli işlem satırlarının istenen koşullar sağlandığında çalışması gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına Program Kontrol Terimleri adı verilir.
Belirlediğimiz koşullar sağlandığında çalışmasını istediğimiz işlem satır veya satırlarını programlarımıza ekleyebiliriz. Tanımlanan koşul sağlandığında, koşula bağlı olarak tanımlanan işlem satır veya satırları devreye girecek aksi takdirde, bu satırları işlem yapmadan atlayacaktır. Tanımlanan koşul sağlanmadığında, söz konusu işlem satır veya satırları programda hiç yer almamış gibi işlem görür. Koşula bağlı olarak devreye giren işlem satırları programlarımızda çok büyük kolaylık ve esneklik sağlayacaktır.
Devamı...
C dilinde bilgisayar belleğinin bir kısmına belirli bir isim vererek bu bellek alanını kendimiz için ayırabilir ve bu alana değerler yerleştirebiliriz. Bu değerleri de istediğimiz zaman değiştirebiliriz.
Bu işlemlere değişken bildirimi ve değişkene değer atama işlemleri diyoruz.
Değişken bildirimi
Bir değişken bildirimi yaparak, bilgisayarın belleğinde belirli büyüklükte bir alanı kendimize ayırabiliriz. Bu bellek boyutu değişken veri türüne göre değişecektir. Bu işlemi yaptığımızda belleğin belirli bir bölümü bizim için ayrılmış olur.
Değişken bildirimi aşağıda gösterilen 3 farklı yerde yapılabilir:
- Lokal değişkenler: Fonksiyonların içinde
- Parametre olarak tanımlanan değişkenler: Fonksiyon parametresi olarak
- Global değişkenler: Tüm fonksiyonların dışında
C programlama dilinde bir değişken ifade içinde kullanılmadan önce mutlaka bildirimi yapılmalı ve bir değer atanmalıdır. Bu bildirim işlemi, ister main() ister başka bir fonksiyon içinde olsun mutlaka fonksiyonun veya kod bloğunun başında yapılmalıdır.
Ancak, C99 standartlarına göre, bir fonksiyon içindeki yerel değişken bildirimi fonksiyonun veya fonksiyon içinde yer alan bir kod bloğu içinde herhangi bir yerde yapılabilir.
Bir değişken bildirimi aşağıdaki gösterildiği şekildeyapılır:
veri-türü değişken-adı;
Değişken bildirimi bir işlem satırı ile yapıldığından, noktalı virgül (;) ile sona erer. veri-türü ifadesi bildirimi yapılan değişkeninin veri türünü, değişken-adı ifadesi ise değişkenin adını göstermektedir.
Değişken bildiriminde değişken-adı ifadesi yerine kullanılacak değişken adları, sizin verebileceğiniz herhangi bir ad olabilir. Bu ad harflerden, rakamlardan ve (_) işaretinden oluşan bir karakter dizisi olmalıdır. C küçük ve büyük harflere farklı işlem yapar. VAR1 ve var1 olarak verilen değişken adları birbirinden tamamen farklı olarak kabul edilir.
Aşağıdaki işlem satırlarından birincisi id1 adlı int ve ikincisi fd1 adlı float bir değişken bildirimi yapar:
Devamı...
Bir C programının temel yapısı
Bir C programında, genel olarak aşağıda gösterilen bölümler sırayla yer alır. Başlık dosya bildiriminden sonraki sıralama değiştirilebilir. Programda mutlaka tanımlanması tek bölüm main() fonksiyonudur. Bunun dışındaki bölümlerin tanımlanması tamamen ihtiyaca bağlıdır.
- Başlık dosya bildirimleri
- Fonksiyon bildirimleri
- main() fonksiyonu
- Fonksiyon ana yapıları
Devamı...
Bir C programının oluşturulması, derlenmesi ve çalıştırılması
Tercih ettiğimiz bir IDE (Entegre Geliştirme Ortamı)’yi bilgisayarımıza kurarak sistemi hazır hale getirdikten sonra, çalışan .exe uzantılı bir program elde edebilmemiz için, programı yazılması, derlenmesi ve kütüphane dosyaları ile birleştirilmesi işlemlerini gerçekleştirmemiz gerekir:
Bu safhaları sıra ile ele almadan önce, .exe uzantılı bir program ifadesini kısaca açıklamaya çalışalım:
İşletim sistemi, uzantısı .EXE, .COM ve .BAT olan dosyaları, komut satırında iken adını yazıp ENTER tuşuna bastığımızda veya Windows Gezgini benzeri bir ara yüz üzerinde çift tıkladığımızda çalıştırır. Diğer uzantılı dosyalara ise çift tıkladığımızda ilgili program yoluyla açar.
Yukarıdaki üç safhayı gerçekleştirdiğimizde .EXE uzantılı çalışan bir dosya elde edebiliriz.
Devamı...
C dilinde farklı amaçlarla kullanılmak üzere tahsis edilmiş olan kelimelere anahtar kelimeler denir. Bu kelimeleri değişken, veri ve döngü tanımlamaları ve benzeri işlemlerde kullanabilirsiniz. ANSI standartlarına göre C’de kullanılmakta olan toplam 32 adet anahtar kelime vardır. Bu kelimeler değişken ve fonksiyon adı olarak kullanılamaz.
C anahtar kelimeleri
| auto |
break |
case |
char |
const |
continue |
default |
| do |
double |
else |
enum |
extern |
float |
for |
| goto |
if |
int |
long |
register |
return |
short |
| signed |
sizeof |
static |
struct |
switch |
type |
void |
| volatile |
while |
union |
unsigned |
|
|
|
C derleyicilerinden bazıları yukarıdaki tabloya ek olarak bazı anahtar kelimeler daha kullanmaktadırlar. Bu kelimelerden en çok kullanılanlar aşağıda gösterilmektedir:
Devamı...
İşlem satırı
main() fonksiyonu ve diğer fonksiyonlarda yer alan ve noktalı virgül (;) karakteri ile sona eren satırlara işlem satırı adı verilir. Şimdi, işlem satırlarının hangi değerlerden oluşabileceğini incelemeye çalışalım:
İşlem satırı bir değişken bildirimi, değişkene bir değer atama, aritmetik bir ifade, bir fonksiyon çağrısı veya bir döngü içerebilir.
Devamı...
İlk program
C Programlama Dili’nde büyük ve küçük harflere farklı işlem yapılmaktadır:
Örneğin: “Fonksiyon” ve “fonksiyon” kelimeleri tamamen farklı kabul edilir.
Şimdi, en basit şekilde oluşturulmuş ilk C programımızı incelemeye çalışalım:
Devamı...
C Programlamaya Giriş
Bu bölüme başlamadan önce, C programlama dilinin gelişim tarihine kısaca bir göz atalım. Daha sonra, bir C programının temel yapısını oluşturan elemanları, en basit program yapısından itibaren basamak basamak ilerleyerek incelemeye çalışacağız.
C Programlama Dilinin gelişimi
C dilinin temelleri Martin Richards tarafından geliştirilen BCPL adlı dil ile atılmıştır. Sonra, BCPL dilinden esinlenerek, Ken Thompson B adlı dili oluşturmuştur. B dili, C dilinin oluşturulmasında bir basamak olarak kullanılmıştır. Daha sonra ise, C dili Brian Kernighan ve Dennis Ritchie tarafından geliştirilmiştir.
C dili içinde kullanılan standartlar 1983 yılına kadar, yine Brian Kernighan ve Dennis Ritchie tarafından yazılan “The C Programming Language” adlı kitapta belirlendiği şekilde uygulanmıştır. Zamanla daha yaygın bir şekilde kullanılmaya başlayan C için gereksinim duyulan yeni standartları belirlemek amacıyla 1983 yılında toplanan bir komite, ANSI C standartları adı verilen standartları oluşturmuştur. Burada kullanılan ANSI kelimesi “American National Standart Institute” kelimelerinin kısaltılmış şeklidir. 1983 yılından itibaren, C programlama dili için bütün dünyada ANSI C standartları uygulanmaya başlamıştır.
Günümüzde C dilinin bu sürümü “ANSI C” veya “C89” adı ile anılır.
Devamı...
Kaynak dosyaların içine bazen programın daha kolay anlaşılması için açıklayıcı satırlar eklenebilir. Bu satırlara Yorum Satırı adı verilir. Yorum satırlarının yazılan programla herhangi bir ilgisi yoktur. Sadece, programı inceleyenlerin, programı daha kolay bir şekilde anlamalarına yardımcı olur. Ayrıca, geçici olarak iptal etmek istediğimiz işlem satırlarını silmeden devre dışı bırakmak için de yorum satırı kavramını kullanabilirniz. Yorum satırlarına derleyici tarafından kesinlikle herhangi bir işlem yapılmaz. Yorum satırları sanki hiç yokmuş gibi işlem görür.
Yorum satırı /* işaretleri ile başlar ve */ işaretleri ile sona erer. Yorum satırı kullanılan bir programı incelemeye çalışalım:
Örnek
Devamı...
Programa başlık dosyası dahil etme
Başlık dosyasının kullanımını bir örnek üzerinde incelemeye çalışalım:
Devamı...
Python’un Itertool‘u, karmaşık döngüler üretmek için döngüler ve listeler üzerinde çalışan çeşitli işlevler sağlayan bir modüldür .
Bu modül, yineleyici cebiri oluşturmak için kendi başına veya kombinasyon halinde kullanılan hızlı, belleği verimli kullanan bir araç olarak çalışır .
Örneğin, iki liste olduğunu ve bunların öğelerini çarpmak istediğinizi varsayalım. Bunu başarmanın birkaç yolu olabilir. Naif yaklaşım, yani her iki listenin öğelerini aynı anda yineleyerek ve bunları çarparak kullanılabilir . Başka bir yaklaşım da, map fonksiyonunu kullanmak, yani mul operatörünü harita fonksiyonuna birinci parametre olarak ve Lists’i bu fonksiyona ikinci ve üçüncü parametre olarak iletmek olabilir. Her yaklaşımın aldığı zamanı görelim.
Devamı...
Pandas ile ilgili bu yazımızda veri çerçevesi (DataFrame) isimli veri yapısını ele alacağız. Önceki yazımızda etiketli verilerden oluşan serileri görmüştük. Seriler tek boyutlu bir veri yapısıyken, veri çerçevelerini her sütunu bir seriden oluşan iki boyutlu bir matris olarak düşünebiliriz. Serilerde bahsettiğimiz birçok yöntemi veri çerçevelerinde de kullanmak mümkün. Ayrıca SQL tablolarında kullanılan tablo birleştirme (JOIN) gibi işlemleri de Pandas ile yapmak mümkün.
Veri Çerçeveleri
Veri çerçevelerini birden fazla serinin bir araya gelmiş hali olarak düşünebiliriz. Veri çerçeveleri de seriler gibi etiketli bir veri yapısıdır, ancak serilerden farkı iki boyutlu olmasıdır. Serilerdeki gibi etiket değerlerine indeks (index) denir. Veri çerçeveleri index alanının yanında columns alanını da içeriyor. columns sütunların isimlerini içeren bir sıralı nesne.
Veri çerçevesi oluşturmak için serileri kullanmak mümkün. Linkten erişebileceğiniz IMF’nin gayrisafi yurt içi hasıla verisi ile ilk denemeyi yapabiliriz. 2016 ve 2017 yılları için serileri anlattığımız yazıdaki veri kümelerini oluşturalım.
In [1]:
Devamı...
Pandas veri analitiği alanında, özellikle veri işleme ve analizi için sıklıkla kullanılan bir Python paketi. Pandas paketi seri (Series) ve veri çerçevesi (DataFrame) isimli iki veri yapısının üzerine kurulmuş. Bunlardan serileri tek boyutlu diziler, veri çerçevelerini ise iki boyutlu matrisler (ya da her kolonu bir seriden oluşan yapı) gibi düşünebiliriz. Ancak Pandas paketi liste ve matrislerden farklı işlevler sunuyor. Örnek olarak SQL tablolarında kullanılan tablo birleştirme (join) gibi işlemleri de Pandas sayesinde yapmak mümkün.
Pandas paketiyle yapabileceğimiz temel işlemleri aşağıda bulabilirsiniz:
- Veriyi çeşitli formatlardaki dosyalardan okutmak ve dosyalara yazdırmak mümkün.
Pandas, metin ve Excel dosyalarının yanında, Stata ve SAS gibi yazılımların formatlarını da destekliyor.
- Eksik değerleri doldurmak/çıkarmak için yöntemler içeriyor.
- Çeşitli veri çerçevelerini birleştirmek (SQL dilindeki JOIN ve MERGE işlemleri) mümkün.
- Farklı türlerde grafikler çizdirebiliriz.
- Groupby fonksiyonu sayesinde veriyi gruplara bölerek, yapacağımız işlemlerle (toplama, sayma, ortalama alma gibi) özetleyebiliriz.
Groupby konusunda yazdığımız detaylı bir yazıya linkten erişebilirsiniz.
Pandas ile ilgili yazı serisinin ilk bölümünde seri veri yapısını inceleyeceğiz. Burada kullandığımız yöntemlerin çoğu veri çerçeveleri için de geçerli olacaktır. Pandas serilerine giriş amacıyla IMF’nin gayrisafi yurt içi hasıla verisini kullanacağız. Detaylı veri setine linkten erişebilirsiniz. Ben küçük bir örneklemle çalıştığım için veriyi okutmayla ilgili kısımlara, veri çerçeveleriyle ilgili yazıda değineceğim.
Seriler
Seri, etiketli verilerden oluşan tek boyutlu bir veri yapısıdır. Etiket değerlerine indeks denir. Verinin kendisi sayılar, dizeler ya da başka Python objelerinden oluşabilir. Serileri oluşturmak için listeler, sıralı diziler ya da sözlükler kullanılabilir. 10 ülkenin 2017 yılının GSYİH değerlerinden oluşan bir seri oluşturalım. Dikkat etmemiz gereken nokta indeks ve verinin aynı boyutta olması. Bunu sağlayamazsak hata mesajı alacağız.
In [1]:
Devamı...