Veri Bilimi için Temel Python Kütüphaneleri 2–4: Pandas-Df-String İşlemleri

Aysel Aydin
3 min readAug 21, 2022

--

Merhabalar, bir önceki yazımızda veri bilimi için temel Python kütüphanelerinden Pandas DataFrame’de Sıralama, Gruplama ve Filtreleme konu başlıklarını ele almıştık. Bu yazımızda da String işlemleri ile devam ediyor olacağız.

1- DataFrame Konusuna Giriş
2- Sıralama, Gruplama, Filtreleme İşlemleri
3- String İşlemleri
4- Merge İşlemleri

Veriye sahip olmak kadar verinin işlenmesin de bir o kadar önemli olduğunu belirtmiştik. Sahip olduğumuz büyük veri setleri genellikle eğiteceğimiz modelimiz için uygun formatta değildir. Bu yüzden veri hazırlığı ve temizliğinde string işlemleri sıklıkla kullanılır.

Bu yazımızda titanic.csv (Buradan indirebilirsiniz) dosyasındaki yolcu isimleri üzerinde;

  • Büyük, küçük harf
  • Noktalama işaretlerini temizleme
  • Sayıları kaldırma
  • replace
  • Contains
  • Duplicate verileri kaldırma

işlemlerini yapıyor olacağız.

titanic.csv dosyamızı okumayla başlayalım ve string İşlemlerini sırasıyla ele alalım.

import pandas as pd
df = pd.read_csv("titanic.csv", usecols=["Name"])
df.head()

— Veri setimizde ilk olarak yolcu isimlerini büyük ve küçük şekilde listeleyelim.

df.Name.str.upper()
df.Name.str.lower()

— Noktalama işaretlerini temizleme işlemini yapalım şimdi de. Bu işlem için öncelikle remove_punc adında bir fonksiyon tanımlayıp ardından apply metodu ile isim sütununa uygulayalım. İşlenmiş datayı da pre_name adında yeni bir sütuna atıyoruz.

import stringdef remove_punc(name):
text = name.translate(name.maketrans(“”,””, string.punctuation))
return text
df[“pre_name”] = df.Name.apply(remove_punc)
df.head()

— Text içerisinde yer alan sayıları kaldırma işlemini yapalım.

df[“pre_name”] = df.pre_name.str.lower().str.replace(‘\d’, ‘’)df.head()

replace(): İsim bilgisi içerisinde ( ) parantezleri kaldıralım.

df[“replace_name”] = df.Name.str.replace("(", "").str.replace(")", "")df.head()

contains(): İsminde William geçen yolcuları listeleyelim.

df[df.pre_name.str.contains(‘william’)]

Bu şekilde veri setimizdeki yolcular arasında isminde william geçen yolcuları contains metodu ile listelemiş olduk.

duplicated()
Veri analizinin önemli bir parçası da veri setinde yer alan tekrarlı verileri kaldırmaktır.

df.pre_name.duplicated()

Bu şekilde oluşturduğumuz pre_name sütununda duplicate veri var mı yok mu görebiliriz, toplam sayıyı almak için de sum() metodunu kullanırız.

df.pre_name.duplicated().sum()

Yinelenen satırları drop_duplicates() metodu ile kaldırabiliriz. Name ve pre_name sütunları baz alınarak yinelenen satırları kaldıralım.

df.drop_duplicates(subset=[“Name”, “pre_name”], keep=”first”)df.head()

Burada subset metodu işlem yapacağımız sütunları belirlememizi sağlıyor.

Evet arkadaşlar veri bilimi için temel Python kütüphanelerinden olan Pandas kütüphanesinde String işlemleri konusunu detaylıca ele almış olduk. Umarım hepiniz için faydalı olmuştur. Bir sonraki yazımızda Pandas-DataFrame Merge işlemleri konusunun anlatımıyla devam ediyor olacağız. Bir sonraki yazımızda görüşmek dileğiyle :)

Hesaplar: Twitter, LinkedIn

--

--

Aysel Aydin
Aysel Aydin

Written by Aysel Aydin

Master Expert AI & ML Engineer @Turkcell

Responses (1)