Python Pandas ile Temel İşlemler-5 (String)

Bu yazımızda string ağırlıklı örnekler vereceğim. Veri hazırlığı ve temizliğinde string düzenlemeleri sıkça yapılmaktadır. Büyük harf küçük harf, boşlukları temizleme, içinde geçeni bulma vb. Konuyla ilgili çok daha fazla bilgi şu adresten bulunabilir.

Veri setimizi indirelim.

import pandas as pd
filmListesi = pd.read_csv("http://www.datascience.istanbul/data/imdbratings.data")
filmListesi.head()
star_rating title content_rating genre duration actors_list
0 9.3 The Shawshank Redemption R Crime 142 [u’Tim Robbins’, u’Morgan Freeman’, u’Bob Gunt…
1 9.2 The Godfather R Crime 175 [u’Marlon Brando’, u’Al Pacino’, u’James Caan’]
2 9.1 The Godfather: Part II R Crime 200 [u’Al Pacino’, u’Robert De Niro’, u’Robert Duv…
3 9.0 The Dark Knight PG-13 Action 152 [u’Christian Bale’, u’Heath Ledger’, u’Aaron E…
4 8.9 Pulp Fiction R Crime 154 [u’John Travolta’, u’Uma Thurman’, u’Samuel L….

Tablomuzun ilk beş satırı yukarıda görüldüğü gibidir. Hadi basitten başlayalım ve title_upper adında yeni bir sütuna title büyük harflerle koyalım.

filmListesi['title_buyuk'] = filmListesi.title.str.upper()
filmListesi.head()
star_rating title content_rating genre duration actors_list title_buyuk
0 9.3 The Shawshank Redemption R Crime 142 [u’Tim Robbins’, u’Morgan Freeman’, u’Bob Gunt… THE SHAWSHANK REDEMPTION
1 9.2 The Godfather R Crime 175 [u’Marlon Brando’, u’Al Pacino’, u’James Caan’] THE GODFATHER
2 9.1 The Godfather: Part II R Crime 200 [u’Al Pacino’, u’Robert De Niro’, u’Robert Duv… THE GODFATHER: PART II
3 9.0 The Dark Knight PG-13 Action 152 [u’Christian Bale’, u’Heath Ledger’, u’Aaron E… THE DARK KNIGHT
4 8.9 Pulp Fiction R Crime 154 [u’John Travolta’, u’Uma Thurman’, u’Samuel L…. PULP FICTION

Şimdi içinde John Travolta içeren satırları görelim.

filmListesi[filmListesi.actors_list.str.contains('John Travolta')]
star_rating title content_rating genre duration actors_list title_buyuk
4 8.9 Pulp Fiction R Crime 154 [u’John Travolta’, u’Uma Thurman’, u’Samuel L…. PULP FICTION

Yukarıda bir önceki yazıda ele aldığımız filtrelemeyi kullandık.

Şimdi biraz replace() metoduyla birkaç örnek yapalım. actor_list‘te köşeli parantezler hiç güzel görünmüyor. Okunabilirliği arttırmak adına onları kaldıralım.

filmListesi.actors_list.str.replace('[','').str.replace(']','')
0       u'Tim Robbins', u'Morgan Freeman', u'Bob Gunton'
1          u'Marlon Brando', u'Al Pacino', u'James Caan'
2      u'Al Pacino', u'Robert De Niro', u'Robert Duvall'
3      u'Christian Bale', u'Heath Ledger', u'Aaron Ec...
4      u'John Travolta', u'Uma Thurman', u'Samuel L. ...
5       u'Henry Fonda', u'Lee J. Cobb', u'Martin Balsam'
6      u'Clint Eastwood', u'Eli Wallach', u'Lee Van C...
7      u'Elijah Wood', u'Viggo Mortensen', u'Ian McKe...
8      u'Liam Neeson', u'Ralph Fiennes', u'Ben Kingsley'
9      u'Brad Pitt', u'Edward Norton', u'Helena Bonha...
10     u'Elijah Wood', u'Ian McKellen', u'Orlando Bloom'
11     u'Leonardo DiCaprio', u'Joseph Gordon-Levitt',...
12     u'Mark Hamill', u'Harrison Ford', u'Carrie Fis...
13         u'Tom Hanks', u'Robin Wright', u'Gary Sinise'
14     u'Elijah Wood', u'Ian McKellen', u'Viggo Morte...

Gördüğümüz gibi köşeli parantezler gitti. Şimdi köşeli parantezlere ilaveten u’ karakterlerini de boşlukla değiştirelim.

filmListesi.actors_list.str.replace("u'",'').str.replace('[','').str.replace(']','').str.replace("'",'')
0                Tim Robbins, Morgan Freeman, Bob Gunton
1                   Marlon Brando, Al Pacino, James Caan
2               Al Pacino, Robert De Niro, Robert Duvall
3            Christian Bale, Heath Ledger, Aaron Eckhart
4          John Travolta, Uma Thurman, Samuel L. Jackson
5                Henry Fonda, Lee J. Cobb, Martin Balsam
6             Clint Eastwood, Eli Wallach, Lee Van Cleef
7             Elijah Wood, Viggo Mortensen, Ian McKellen
8               Liam Neeson, Ralph Fiennes, Ben Kingsley
9         Brad Pitt, Edward Norton, Helena Bonham Carter
10              Elijah Wood, Ian McKellen, Orlando Bloom
11     Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...
12             Mark Hamill, Harrison Ford, Carrie Fisher
13                  Tom Hanks, Robin Wright, Gary Sinise
14            Elijah Wood, Ian McKellen, Viggo Mortensen

Gördüğünüz gibi zincirleme şekilde birden fazla str.replace() kullanabiliyoruz.

Pandas Series’den Pandas Dataframe Oluşturmak

Pandas series dediğimiz Pandas Dataframe (tablo) bir sütunu aslında. Ancak dataframe ce series in farklı metodları olduğundan zaman zaman seriesi dataframe dönüştürmek durumunda kalabiliyoruz. Bunun için basti bir yöntem var: to_dataframe()

actor_series = filmListesi.actors_list.to_dataframe()

Yukarıdaki komutla actor_series adında bir Pandas Dataframe oluşturduk.

Python Pandas ile Temel İşlemler-5 (String)” için bir yorum

  • 9 Ekim 2018 tarihinde, saat 13:30
    Permalink

    Paylaşımlarınız için teşekkür ederim.
    Devamı gelirse güzel olur.
    insanların sizi bulması için bunların videosunu youTube’ a koyabilirsiniz.

    Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir