SQL Sorgularının Python Pandas Dataframe Karşılıkları-3 (UPDATE, DELETE)

Merhaba serimizin üçüncü yazısında SQL update ve delete operasyonlarını pandas ile nasıl yaparız onu göreceğiz. Veri kaynaklarına ilk yazımızdan ulaşabilirsiniz.

1. UPDATE

Verimizde bazı satırlarda meslek bilgisi boştu gelin onu güncelleyerek dolduralım. SQL UPDATE operasyonu tehlikeli bir iştir. Şayet filtreyi iyi ayarlamaz iseniz istenmeyen yerleri istenmeyen bilgilerle değiştirirsiniz. O yüzden ben UPDATE sorgusunda kullanacağım filtreyi önce SELECT ile deniyorum ve sonra UPDATE kullanıyorum.

select * from simple_data
where meslek = ''
siranoisimyasmesleksehiraylik_gelir
5Yasemin23Bursa4800
15Şehmuz41Ankara8700

Gördüğümüz gibi kullandığımız filtre (WHERE cümleciği) doğru çalıştı. Artık UPDATE yapabiliriz.

update simple_data set meslek = 'Saraç'
where meslek = ''

Güncellemeyi kontrol için tekrar SELECT sorgusunu çalıştıralım

select * from simple_data
where meslek = 'Saraç'
siranoisimyasmesleksehiraylik_gelir
5Yasemin23SaraçBursa4800
15Şehmuz41SaraçAnkara8700

Pandas ile de önce select ile filtreyi kontrol edelim.

df.loc[df['meslek'].isna()].head()
siranoisimyasmesleksehiraylik_gelir
45Yasemin23NaNBursa4800
1415Şehmuz41NaNAnkara8700

Şimdi güncelleyelim

df.loc[df['meslek'].isna(), 'meslek'] = 'Saraç'

Güncellemeyi kontroledelim

df.loc[df['meslek'] == 'Saraç'].head()
siranoisimyasmesleksehiraylik_gelir
45Yasemin23SaraçBursa4800
1415Şehmuz41SaraçAnkara8700

Güncelleme başarılı.

2. DELETE

Delete operasyonuna örnek olarak ismi Gençay olanları silelim.

delete from simple_data
where isim = 'Gençay'

Kontrol edelim

select * from simple_data
where isim = 'Gençay'
limit 5
siranoisimyasmesleksehiraylik_gelir

Silme işlemi başarılı.

Silmeden önce Pandas ile de kontrol edelim filtre doğru çalışıyor mu?

df.loc[df['isim'] == 'Gençay'].head()
siranoisimyasmesleksehiraylik_gelir
1516Gençay46BerberAnkara8800
1616Gençay46BerberAnkara8800

Şimdi silelim

df = df.loc[df['isim'] != 'Gençay']

Kontrol edelim

df.loc[df['isim'] == 'Gençay'].head()

sirano
isimyasmesleksehiraylik_gelir

Silme işlemi başarılı. Burada bir nokta dikkatinizi çekmiştir. Aslında silme yapmadık. Sadece isim sütununda “Gençay” geçenleri filtreleyip kalanları dataframe’in kendisine tekrar atadık.

Yazar Hakkında
Toplam 177 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

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

×

Bir Şeyler Ara