Data Wrangling

Pandas DataFrame’lerini NumPy Dizilerine Etkin Şekilde Dönüştürme

Spread the love

Pandas ve NumPy, Python veri bilimi ekosisteminin temel taşlarıdır. Pandas, DataFrame yapısıyla veri manipülasyonunda öne çıkarken, NumPy dizileriyle verimli sayısal hesaplamalarda başarılıdır. Sıklıkla, bu kütüphaneler arasında sorunsuz bir geçiş yapmanız ve daha fazla analiz veya işlem için bir Pandas DataFrame’ini NumPy dizisine dönüştürmeniz gerekir. Bu makale, bu dönüşüm için en etkili yöntemleri detaylandırmaktadır.

İçindekiler

to_numpy() Metodu: Önerilen Yaklaşım

to_numpy() metodu, bir Pandas DataFrame’ini NumPy dizisine dönüştürmenin en basit ve en etkili yoludur. DataFrame’in değerlerini doğrudan bir NumPy dizisine dönüştürür ve veri türünü belirtmede esneklik sunar.


import pandas as pd
import numpy as np

# Örnek DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7.1, 8.2, 9.3]}
df = pd.DataFrame(data)

# NumPy dizisine dönüştürme
numpy_array = df.to_numpy()
print("Varsayılan veri türü:n", numpy_array)

# Veri türünü belirtme
numpy_array_float = df.to_numpy(dtype=np.float64)
print("nFloat64 veri türü:n", numpy_array_float)

numpy_array_int = df.to_numpy(dtype=np.int32)
print("nInt32 veri türü (ondalıklı sayıları keser):n", numpy_array_int)

dtype‘ın belirtilmesinin, çıktı dizisinin türü üzerinde hassas bir kontrol sağladığını gözlemleyin. Eğer atlanırsa, to_numpy() DataFrame’in verilerinden en uygun türü akıllıca çıkarır.

.values Özniteliği: Eski Bir Yaklaşım

.values özniteliği de DataFrame’in verilerinin bir NumPy dizi gösterimini üretir. to_numpy()‘ye işlevsel olarak benzer olsa da, eski bir yöntem olarak kabul edilir. Açıklığı ve açık doğası nedeniyle to_numpy() tercih edilir.


import pandas as pd
import numpy as np

# Örnek DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# .values kullanarak dönüştürme
numpy_array = df.values
print(numpy_array)

Çıktı, to_numpy() kullanmakla aynıdır, ancak to_numpy() daha modern ve önerilen uygulamadır.

to_records() Metodu: Yapılandırılmış Diziler Oluşturma

Adlandırılmış alanlara (yapılandırılmış bir diziye benzeyen) sahip bir NumPy dizisine ihtiyacınız olduğunda, to_records() metodunu kullanın. DataFrame’i, her sütunun adlandırılmış bir alan olduğu bir NumPy kayıt dizisine dönüştürür.


import pandas as pd
import numpy as np

# Örnek DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# NumPy kayıt dizisine dönüştürme
numpy_record_array = df.to_records()

print(numpy_record_array)
print("nKayıt dizisinin veri türü:")
print(numpy_record_array.dtype)

Kayıt dizisinde dizinin dahil edildiğini unutmayın. Bu yöntem, özellikle sonraki analizler için NumPy dizi yapısı içinde sütun adlarının korunmasının önemli olduğu durumlarda değerlidir.

Sonuç olarak, genel DataFrame-NumPy dizi dönüşümleri için to_numpy() önerilen yöntemdir. .values işlevsel olarak eşdeğer bir alternatif sunarken, to_records() adlandırılmış alanlara ihtiyaç duyan yapılandırılmış diziler için en uygunudur. En uygun seçim, sonuçta ortaya çıkan NumPy dizisinin belirli ihtiyaçlarına ve istenen yapısına bağlıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir