Tekrar hoş geldiniz.
Bir önceki videoda, verileri içe aktarmayı ve veri çerçevemizi işlemek için PANDAS kütüphanesini kullanmayı
öğrendik.
Şimdi verileri temizlemek olan bu adım hakkında biraz daha bilgi edinelim.
Ve bu durumda, ilginç bir sorunu çözmeye çalışalım.
Diyelim ki bu filtreleme yerine, yapmak istediğimiz şey ya da patronumuzun gelip bize
söylediği şey, onun bilmek istediği şey.
Pekala.
Hangi oyuncular iyi bir anlaşma?
Hangi oyuncular beceri açısından en iyisidir ama aynı zamanda daha düşük maaş alırlar.
Belki onları daha iyi karşılayabiliriz.
Diyelim ki patron sizden birkaç şey istiyor.
Burada Kaggle'a geri dönüp verilerimize bakarsak, aslında bu verilerin sahip olduğu tüm sütunlara
bir bağlantı olacaktır.
Ve diyelim ki patronumuz oyuncunun mevcut piyasa değerini ve ücretini öğrenmek istiyor, yani şu anda hangi oyuncunun
değerinin altında olduğunu bilmek istiyor.
Ve belki de o oyuncuyu gerçekten iyi bir anlaşma karşılığında alabiliriz.
Verilerden grafiğini çıkarmak istediğimiz şey oyuncunun değeri, ücreti ve tabii ki isim kategorisidir.
Şimdi, isterseniz videoyu duraklatabilir ve bunu kendiniz yapmayı deneyebilirsiniz.
Aksi takdirde, bir deneyelim.
Veri çerçevesi bir adında yeni bir değişken oluşturalım.
Ve bu da kapacak.
PANDAS kütüphanesini kullanarak, veriler.
Frame yöntemi, CSV dosyamızın tamamı olan önceki veri çerçevemizi kabul edecektir.
Diyelim ki veri çerçevesi ve ardından ikinci parametre olarak istediğimiz sütunları seçeceğiz.
Bu durumda, ona istediğimiz sütunların bir dizisini verebiliriz, bu da isim olacaktır.
Ücret.
Ve son olarak, bir değer.
Çalışıp çalışmadığını görmek için DF'yi yazdıralım.
Al bakalım.
Bu şekilde, oyuncunun isim ücretine ve değerine sahip oluruz.
Vay anasını.
Messi.
Messi'nin oldukça yüksek bir maaşı var.
Bu bir.
Bu iyi bir ücret.
Pekala, devam edelim.
Şimdi, işte bir sonraki bölüm.
Elimizde bu tablo var.
Ancak veriler şu anda bizim için gerçekten bir şey ifade etmiyor.
Diyelim ki verileri şimdi sıralamak istiyoruz.
Çünkü yapmak istediğimiz şey, her oyuncunun ücretini değeriyle karşılaştırmak ve belki de hangi oyuncunun
ücreti ile değeri arasında en büyük farka sahip olduğunu görmek için Fark adlı farklı bir sütuna sahip olmak
istiyoruz.
O zaman bir deneyelim.
Şimdi, ideal olarak, sadece DF one diyerek farklı bir sütun oluşturabiliriz, fark ekleyeceğiz.
Ve bu fark sütunu basitçe burada oluşturduğumuz veri çerçevesine eşit olacaktır.
Ve o olacak.
Değer.
F hariç.
Ücret aynen böyle.
Şimdi.
Bunu çalıştırırsam, DF bir yapalım ve Çalıştır'a tıklayalım.
Oh, hava alıyorum.
Eğer aşağıya doğru kaydırırsam desteklenmeyen operant tipi SW dört eksi görüyorum.
Yani bir dize ile bir dizeyi çıkarmaya çalışıyorum.
Ve bunu daha önce de öğrenmiştik.
Doğru.
Burada bir oyuncunun ücretinin avro cinsinden olduğunu ve çok para aldıklarını görebilirsiniz.
Yani bazen 4 milyon olan M ya da binler için K'ye sahip olursunuz.
Yani bunu bir int'e dönüştürmemiz gerekiyor, değil mi?
Yani bunu yine python kullanarak oldukça kolay bir şekilde yapabiliriz.
Şimdi bu bölümle, bunu kendiniz çözmeyi deneyebilir ve bu değerleri ve ücretleri bir tam sayıya dönüştürmeyi deneyebilir
ve euro işaretini ve binler için M veya K'yi kaldırabilirsiniz.
Ya da bunu hızlı bir şekilde yapmak istiyorsanız, bu yaygın bir sorun olduğu için Google'da arama yapabilirsiniz.
Tek yapmanız gereken Google'da pandas convert string to int aramak ya da benim durumumda Google'da ararken convert
the string 2'yi bulmak. 90 K pandas dataframe içinde buna.
Görünüşe göre onlar da bizimle aynı soruları soruyorlar.
Ve yine, bir geliştirici olarak, Google'da arama yapmayı ve kendi başınıza yanıtlar bulmayı gerçekten öğrenmelisiniz
çünkü büyük olasılıkla diğer insanlar da sizinle aynı sorulara sahiptir.
Şimdi, cevabı buraya kaydırırsam, aşırı karmaşık görünen bazı cevaplar aldığımı görürsünüz, ancak
bunu gerçekten beğendim.
Yani değer yüzer.
Yani bir değeri float olarak değiştiriyoruz.
Ona bir çeşit X işareti veriyoruz ve hepsi bu.
Yani bu, değerimizi float'a dönüştürür.
Ve burada bizim için K, M ve B gibi farklı şeylerin yerini aldığını görüyorsunuz.
Yani bu mükemmel.
Bunu kopyalayalım.
Ve yine, kendiniz bakabilmeniz için bu kaynağa bağlantı vereceğim.
Eğer bizim futbola gidersem.
Burada sahip olduğumuz fonksiyonu girelim, düzgün biçimlendirildiğinden emin olalım.
Artık float değerine dönüştürme fonksiyonumuz var, ki bu harika.
Buradaki soruya geri dönecek olursak.
Ne yazık ki, yalnızca listedeki son öğeyi kaldırırlar, başlangıç kısmını kaldırmazlar.
Euro işaretini de kaldırmak istediğimiz için bunu kendimiz yapabiliriz.
Aslında regex kullanarak bunu yapmanın oldukça kolay bir yolu var.
Sana göstereyim.
DF bir saatlik veri çerçevesine eşit olan bir ücret değişkeni yapabiliriz.
Ücret sütununu alacağız.
Görebilmeniz için bunu biraz daha büyütelim.
Ve bu ücret sütunu değiştirilecek.
Ve replace yöntemi regex kullanmamızı sağlar.
Yapabileceğimiz şey, euro işaretini kaldırmak istediğimizi söylemektir, bu yüzden onu buradan kopyalayalım.
Aynen böyle.
Boş bir dize ile.
Üçüncü parametre ise reg x'in true'ya eşit olduğunu söylemektir.
Şimdi Reg X 101 dotcom'a giderseniz.
Ve az önce yaptığımızı kopyalayacağız.
Bunu kopyalayalım.
Euro işareti olan bir şey yaparsam.
Burada vurgulandığını görüyorsunuz.
Regex'in yaptığı şey yine bu.
Bu benim yeni denediğim bir şey.
İnanın bana, bunu aklımın ucundan bile geçirmiyorum.
Bu videodan önce bakmıştım.
Bu yüzden tüm your işaretlerini boş dizeyle değiştiriyoruz.
Ve son olarak, eğer bizim
StackOverflow cevabı.
Burada, float değerini kullanabilmemiz için sadece float değerini uygulamadığımızı hatırlıyorsunuz.
Yani yine futbolumuza dönecek olursak.
Sadece nokta diyeceğiz.
Başvurun.
Değer.
Float.
Burada da öyle.
Ve aynı şeyi değer için de yapabiliriz.
Yani değer diyelim.
eşit olacak.
Burada değer ve aynı şey uygulanıyor.
Ve son olarak bu yeni sütunlarla, sadece DF one wage diyerek onları güncelleyebiliriz.
ücrete eşit olacak ve ardından veri çerçevesi bir olacaktır.
Değer.
eşit değerde olacak.
Çünkü şimdi bunlar tam sayı olacak.
Artık bu eksi işlemi çalıştırabilirim.
Ve umarım herhangi bir hata yapmadıysak, bu işe yarayacaktır.
Bir göz atalım.
Tamam.
Şuna bak.
Ücretten değeri çıkaran yeni bir fark sütunumuz var.
Harika.
Yapmak istediğim son şey, bunu daha iyi anlayabilmek için gerçekten sıralamak.
Son kısım için sıralama diyelim.
Değerler.
Yine, pandalardan aldığımız bir başka şey.
Ve fark sütununa göre sıralayacağız.
Ve yükselen diyeceğiz.
Yanlışa eşittir.
Böylece en düşükten en yükseğe yerine önce en büyük farkı alırız.
Yani bunu şimdi çalıştırırsam.
Şuna bir bak.
En büyük farka sahip oyunculardan en alttaki oyunculara kadar alıyorum.
Çok, çok havalı.
Bu biraz uzun bir video oldu ama size verileri temizleme fikrini göstermek istedim.
Yani, gereksiz tüm verileri kaldırdık.
Herhangi bir şeye ihtiyacımız olması durumunda türlere dönüştürdük veya bir şeyleri temizledik ve belki de daha sonra ne
yapmak isteyebileceğimize dair içgörüler elde edebilmek veya geliştirebilmek için ihtiyaç duyabileceğimiz ekstra bilgiler ekledik.
Bir ara verelim ve bir sonraki videoda görüşmek üzere.