Python ile CSV Dosyasını Matrise Dönüştürme

Giriş: CSV Dosyaları ve Neden Matrise Dönüştürmeliyiz?

CSV (Virgülle Ayrılmış Değerler) dosyaları, verilerin saklanması ve paylaşılması için yaygın bir biçimdir. Farklı veri kaynaklarından elde edilen verileri bir araya getirmenin ve analiz etmenin pratik bir yolunu sunar. Python ile çalışmaya başladığımızda, bu dosyaları okumamız ve verileri işlememiz sık karşılaşılan bir durumdur. Ancak verileri matrise dönüştürmek, daha karmaşık analizler ve hesaplamalar yapabilmemiz için önemlidir. Bu yazımızda, Python ile CSV dosyasını nasıl matrise dönüştürebileceğimizi adım adım inceleyeceğiz.

CSV Dosyasını Okuma

Pythonda CSV dosyalarını okumak için genellikle csv modülü ya da pandas kütüphanesi kullanılır. csv modülü ile basit bir şekilde dosyayı okuyup verileri işleyebilecekken, pandas daha karmaşık veri manipülasyonlarına olanak tanır. İlk olarak, bir CSV dosyası açalım ve içeriğini okuyalım.

import csv

with open('data.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

Yukarıdaki kod, data.csv isimli bir dosyayı açar ve her bir satırdaki verileri liste halinde yazdırır. Bu, CSV dosyasının içeriğini görmemizi sağlar. Fakat matrise dönüştürmeden önce, veri türlerine dikkat etmemiz gerekebilir. Özellikle sayısal veriler üzerinde işlem yapmak istiyorsak, bu verileri uygun türlere dönüştürmeliyiz.

Matrise Dönüştürme Adımları

Şimdi, CSV dosyamızı okuduktan sonra bu verileri bir matrise dönüştürmek için gerekli adımlara bakalım. Matrisi oluştururken, verilerin türünü kontrol etmek ve uygun şekilde dönüştürmek son derece önemlidir. Aşağıdaki örnekte, verileri okuyup matris formatında saklayacağız.

import numpy as np
import csv

# CSV dosyasını okuma
rows = []
with open('data.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        rows.append(row)

# Matrisi oluşturma
matrix = np.array(rows)  # NumPy ile matris oluşturma

Yukarıdaki kodda, önceki adımda okunan veriler rows listesine ekleniyor. Ardından, bu listeyi numpy kütüphanesini kullanarak matrise dönüştürüyoruz. NumPy, çok boyutlu diziler ile çalışmamıza olanak tanır ve işlemlerimizi daha hızlı hale getirebilir.

Veri Dönüşümü ve Temizleme

CSV’nin getirdiği zorluklardan biri, verilerin karışık tipi olabilir. Örneğin, bir sütunda sayısal değerler ve diğerlerinde metin bulunabilir. Bu durumda, her sütundaki verilerin tiplerini kontrol etmek ve uygun dönüşümleri yapmak gerekir. Aşağıda örnek bir veri dönüşümü gösterilmektedir.

import numpy as np
import csv

# CSV dosyasını okuma
rows = []
with open('data.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        # Sayısal verilere dönüşüm
        numerical_row = []
        for item in row:
            try:
                numerical_row.append(float(item))  # Sayılara dönüştür
            except ValueError:
                numerical_row.append(item)  # Değiştirilemeyenleri olduğu gibi bırak
        rows.append(numerical_row)

# Matrisi oluşturma
matrix = np.array(rows)

Bu kodda, her bir hücre için bir dönüşüm yapıyoruz. Eğer hücrede bir sayı varsa, onu float türüne dönüştürüyoruz. Eğer bir hata ile karşılaşırsa (örneğin metin gibi) o satırı olduğu gibi bırakıyoruz. Bu, verilerin temiz ve düzenli bir şekilde işlenmesini sağlar.

Matristeki Verilerle Çalışma

Şimdi elimizde bir matris var ve bu matrisle çeşitli işlemler yapabiliriz. Örneğin, bu matristeki ortalama, toplam gibi istatistikleri hesaplamak mümkündür. NumPy, veri analizi için birçok kullanışlı fonksiyon sunar. Örneğin, aşağıdaki gibi bir hesaplama yapabiliriz:

# Ortalama hesaplama
column_means = np.mean(matrix, axis=0)  # Her sütunun ortalamasını al
print(f'Sütunların ortalamaları: {column_means}')

np.mean() fonksiyonu, belirtilen eksende ortalamayı hesaplar. Bu örnekte, her sütunun ortalamasını aldık. Benzer şekilde, medyan, standart sapma gibi diğer istatistiksel işlemleri de aynı şekilde uygulayabilirsiniz. Matristeki veriler üzerinde farklı işlemler yaparak analiz süreçlerinizi zenginleştirebilirsiniz.

Veri Görselleştirme

Bir matristeki verileri analiz ettikten sonra, görselleştirmek de oldukça önemlidir. Matris verilerinizi görselleştirmek için matplotlib veya seaborn gibi kütüphaneleri kullanabilirsiniz. Aşağıda basit bir örnek verilmiştir:

import matplotlib.pyplot as plt

# Basit bir veri görselleştirme
plt.plot(matrix[:, 0], matrix[:, 1])  # İlk sütunu x, ikinci sütunu y olarak kullan
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.title('CSV Verileri Görselleştirme')
plt.show()

Bu örnekte, ilk sütunu x ekseninde ve ikinci sütunu y ekseninde kullanarak basit bir grafik çizdik. Bu tür görselleştirme fonksiyonları, verileri daha anlaşılır hale getirmeye yardımcı olur. Farklı grafik türleri ve stiller ile analizlerinizi daha etkili bir şekilde sunabilirsiniz.

Sonuç: CSV’den Matrise Dönüşümün Önemi

Bu yazıda, CSV dosyalarını Python kullanarak nasıl okuyacağımızı, bu verileri matrise dönüştürebileceğimizi ve matristeki verilerle nasıl çalışacağımızı öğrendik. Veri analizi ve işleme sürecinde, veri formatlarını etkin bir şekilde değiştirmek kritik öneme sahiptir. Matristeki verilere daha karmaşık analizler uygulamak, bu verilerle daha anlamlı bilgiler çıkarmamızı sağlar.

Rutin veri işlemlerinizde bu adımları takip ederek hem zaman kazanabilir hem de analizlerinizin kalitesini artırabilirsiniz. Unutmayın ki, verilerinizi analiz etmek sadece sayıları incelemek değil, bu sayıların arkasındaki hikayeyi anlamaktır. Kendi projelerinizde bu teknikleri denemeyi unutmayın!

Ek Kaynaklar

Scroll to Top