{"id":36283,"date":"2025-12-12T14:41:21","date_gmt":"2025-12-12T11:41:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36283"},"modified":"2025-12-12T14:41:21","modified_gmt":"2025-12-12T11:41:21","slug":"veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/","title":{"rendered":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu"},"content":{"rendered":"<p><body><\/p>\n<h2>Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu<\/h2>\n<p>Veri analizi ve i\u015fleme s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan en yayg\u0131n sorunlardan biri, veri setlerinde tekrar eden sat\u0131rlar\u0131n veya de\u011ferlerin bulunmas\u0131d\u0131r. Bu tekrarlar, analizlerin do\u011frulu\u011funu olumsuz etkileyebilir, depolama alan\u0131n\u0131 gereksiz yere art\u0131rabilir ve hesaplama maliyetlerini y\u00fckseltebilir. Pandas k\u00fct\u00fcphanesi, bu t\u00fcr sorunlar\u0131 \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7 sunar: <code>drop_duplicates()<\/code> fonksiyonu. Bu rehberde, <code>drop_duplicates()<\/code> fonksiyonunun ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve veri temizleme i\u015flemlerinde nas\u0131l etkin bir \u015fekilde kullan\u0131labilece\u011fini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Veri Tekrarlar\u0131 Neden Bir Sorundur?<\/h3>\n<p>Tekrar eden veriler, genellikle veri giri\u015fi hatalar\u0131, farkl\u0131 kaynaklardan birle\u015ftirilen veriler veya sistemik aksakl\u0131klar sonucunda ortaya \u00e7\u0131kar. Bu tekrarlar\u0131n yol a\u00e7t\u0131\u011f\u0131 ba\u015fl\u0131ca sorunlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Yanl\u0131\u015f Analizler:<\/b> \u00d6rne\u011fin, bir m\u00fc\u015fteri listesindeki tekrar eden kay\u0131tlar, m\u00fc\u015fteri say\u0131s\u0131n\u0131 veya ortalama harcamay\u0131 yanl\u0131\u015f hesaplaman\u0131za neden olabilir.<\/li>\n<li><b>Performans D\u00fc\u015f\u00fc\u015f\u00fc:<\/b> Gereksiz b\u00fcy\u00fck veri setleri, sorgu s\u00fcrelerini uzatabilir ve i\u015flemci\/bellek kullan\u0131m\u0131n\u0131 art\u0131rabilir.<\/li>\n<li><b>Veri Tutars\u0131zl\u0131\u011f\u0131:<\/b> Ayn\u0131 varl\u0131\u011fa ait farkl\u0131 bilgiler i\u00e7eren tekrar eden kay\u0131tlar, veri tutarl\u0131l\u0131\u011f\u0131n\u0131 bozar.<\/li>\n<\/ul>\n<p>Pandas&#8217;\u0131n <code>drop_duplicates()<\/code> fonksiyonu, bu sorunlar\u0131 ortadan kald\u0131rmak i\u00e7in tasarlanm\u0131\u015ft\u0131r ve veri setinizi daha temiz, daha do\u011fru ve daha verimli hale getirmenize yard\u0131mc\u0131 olur.<\/p>\n<h3>drop_duplicates() Fonksiyonuna Derinlemesine Bak\u0131\u015f<\/h3>\n<p><code>drop_duplicates()<\/code> fonksiyonu, bir DataFrame veya Series \u00fczerindeki tekrar eden sat\u0131rlar\u0131 veya de\u011ferleri belirleyip kald\u0131rmak i\u00e7in kullan\u0131l\u0131r. Varsay\u0131lan olarak, fonksiyon t\u00fcm s\u00fctunlar\u0131 dikkate alarak tam olarak ayn\u0131 olan sat\u0131rlar\u0131 bulur ve bu sat\u0131rlardan yaln\u0131zca ilkini korur.<\/p>\n<h4>Temel Kullan\u0131m ve Varsay\u0131lan Davran\u0131\u015f<\/h4>\n<p>Bir DataFrame \u00fczerinde <code>drop_duplicates()<\/code> fonksiyonunu herhangi bir parametre belirtmeden \u00e7a\u011f\u0131rd\u0131\u011f\u0131n\u0131zda, Pandas t\u00fcm s\u00fctunlardaki de\u011ferleri kar\u015f\u0131la\u015ft\u0131r\u0131r. E\u011fer iki sat\u0131r\u0131n t\u00fcm s\u00fctunlar\u0131ndaki de\u011ferler birebir ayn\u0131ysa, bu sat\u0131rlar tekrar eden olarak kabul edilir. Pandas, varsay\u0131lan olarak bu tekrar eden sat\u0131r grubundan ilk kar\u015f\u0131la\u015ft\u0131\u011f\u0131 sat\u0131r\u0131 korur ve di\u011ferlerini siler.<\/p>\n<p>\u00d6rnek bir DataFrame olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-python\">import pandas as pd\n\ndata = {\n    'Ad': ['Ali', 'Ay\u015fe', 'Mehmet', 'Ali', 'Ay\u015fe', 'Cem'],\n    'Soyad': ['Can', 'Y\u0131lmaz', 'Demir', 'Can', 'Y\u0131lmaz', 'Ak'],\n    'Ya\u015f': [30, 25, 35, 30, 25, 28],\n    '\u015eehir': ['Ankara', '\u0130stanbul', '\u0130zmir', 'Ankara', '\u0130stanbul', 'Bursa']\n}\ndf = pd.DataFrame(data)\nprint(\"Orijinal DataFrame:\")\nprint(df)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Orijinal DataFrame:\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n3     Ali     Can   30    Ankara\n4    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n5     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>\u015eimdi <code>drop_duplicates()<\/code> fonksiyonunu kullanal\u0131m:<\/p>\n<pre><code class=\"language-python\">df_temiz = df.drop_duplicates()\nprint(\"\\nTekrarlardan Ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame (Varsay\u0131lan):\")\nprint(df_temiz)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Tekrarlardan Ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame (Varsay\u0131lan):\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n5     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, (Ali, Can, 30, Ankara) ve (Ay\u015fe, Y\u0131lmaz, 25, \u0130stanbul) sat\u0131rlar\u0131 tekrar etti\u011fi i\u00e7in, bu sat\u0131rlar\u0131n ilk \u00f6rnekleri korunmu\u015f, di\u011ferleri silinmi\u015ftir.<\/p>\n<h4>drop_duplicates() Fonksiyonunun \u00d6nemli Parametreleri<\/h4>\n<p><code>drop_duplicates()<\/code> fonksiyonu, davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirmek i\u00e7in birka\u00e7 \u00f6nemli parametre sunar:<\/p>\n<h5><code>subset<\/code> Parametresi: Belirli S\u00fctunlara G\u00f6re Tekrar Edenleri Bulma<\/h5>\n<p><code>subset<\/code> parametresi, tekrar eden sat\u0131rlar\u0131 belirlemek i\u00e7in hangi s\u00fctunlar\u0131n dikkate al\u0131naca\u011f\u0131n\u0131 belirtmenizi sa\u011flar. Bu, genellikle t\u00fcm sat\u0131r\u0131n tamamen ayn\u0131 olmamas\u0131, ancak belirli anahtar s\u00fctunlarda tekrar etmesi durumunda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r. <code>subset<\/code>, bir s\u00fctun ad\u0131 (string) veya s\u00fctun adlar\u0131ndan olu\u015fan bir liste (list of strings) olarak verilebilir.<\/p>\n<p>\u00d6rne\u011fin, sadece &#8216;Ad&#8217; ve &#8216;Soyad&#8217; s\u00fctunlar\u0131na g\u00f6re tekrar edenleri silmek isteyelim:<\/p>\n<pre><code class=\"language-python\">df_subset = df.drop_duplicates(subset=['Ad', 'Soyad'])\nprint(\"\\n'Ad' ve 'Soyad' s\u00fctunlar\u0131na g\u00f6re tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\")\nprint(df_subset)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">'Ad' ve 'Soyad' s\u00fctunlar\u0131na g\u00f6re tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n5     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>Bu \u00f6rnekte, &#8216;Ali Can&#8217; ve &#8216;Ay\u015fe Y\u0131lmaz&#8217; kombinasyonlar\u0131 tekrar etti\u011fi i\u00e7in, di\u011fer s\u00fctunlardaki de\u011ferler farkl\u0131 olsa bile, bu kombinasyonlar\u0131n ilk \u00f6rnekleri korunmu\u015ftur.<\/p>\n<h5><code>keep<\/code> Parametresi: Hangi Tekrar Eden Kayd\u0131n Korunaca\u011f\u0131n\u0131 Belirleme<\/h5>\n<p><code>keep<\/code> parametresi, tekrar eden bir grup i\u00e7inde hangi sat\u0131r\u0131n korunaca\u011f\u0131n\u0131 kontrol eder. \u00dc\u00e7 olas\u0131 de\u011feri vard\u0131r:<\/p>\n<ul>\n<li><code>'first'<\/code> (Varsay\u0131lan): Tekrar eden gruptaki ilk g\u00f6zlemi korur.<\/li>\n<li><code>'last'<\/code>: Tekrar eden gruptaki son g\u00f6zlemi korur.<\/li>\n<li><code>False<\/code>: Tekrar eden gruptaki <em>t\u00fcm<\/em> g\u00f6zlemleri siler, yani yaln\u0131zca tamamen benzersiz (ba\u015fka hi\u00e7bir sat\u0131rla e\u015fle\u015fmeyen) sat\u0131rlar\u0131 b\u0131rak\u0131r.<\/li>\n<\/ul>\n<p><code>keep='last'<\/code> \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-python\">df_keep_last = df.drop_duplicates(keep='last')\nprint(\"\\nSon tekrar\u0131 koruyarak tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\")\nprint(df_keep_last)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Son tekrar\u0131 koruyarak tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\n       Ad   Soyad  Ya\u015f     \u015eehir\n2  Mehmet   Demir   35     \u0130zmir\n3     Ali     Can   30    Ankara\n4    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n5     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>Burada, (Ali, Can, 30, Ankara) sat\u0131r\u0131n\u0131n 0. indeksteki yerine 3. indeksteki, (Ay\u015fe, Y\u0131lmaz, 25, \u0130stanbul) sat\u0131r\u0131n\u0131n 1. indeksteki yerine 4. indeksteki \u00f6rne\u011fi korunmu\u015ftur.<\/p>\n<p><code>keep=False<\/code> \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-python\">df_keep_false = df.drop_duplicates(keep=False)\nprint(\"\\nT\u00fcm tekrar edenleri silerek tamamen benzersiz sat\u0131rlar:\")\nprint(df_keep_false)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">T\u00fcm tekrar edenleri silerek tamamen benzersiz sat\u0131rlar:\n       Ad   Soyad  Ya\u015f   \u015eehir\n2  Mehmet   Demir   35   \u0130zmir\n5     Cem      Ak   28   Bursa<\/code><\/pre>\n<p>Bu durumda, Ali Can ve Ay\u015fe Y\u0131lmaz&#8217;a ait t\u00fcm kay\u0131tlar silinmi\u015ftir, \u00e7\u00fcnk\u00fc bu kay\u0131tlar birden fazla kez ge\u00e7iyordu. Sadece Mehmet Demir ve Cem Ak&#8217;a ait kay\u0131tlar benzersiz oldu\u011fu i\u00e7in kalm\u0131\u015ft\u0131r.<\/p>\n<h5><code>inplace<\/code> Parametresi: De\u011fi\u015fiklikleri Orijinal DataFrame&#8217;e Uygulama<\/h5>\n<p><code>inplace<\/code> parametresi, i\u015flemin orijinal DataFrame \u00fczerinde mi yoksa yeni bir DataFrame d\u00f6nd\u00fcr\u00fclerek mi yap\u0131laca\u011f\u0131n\u0131 kontrol eder.<\/p>\n<ul>\n<li><code>False<\/code> (Varsay\u0131lan): \u0130\u015flem sonucunda yeni bir DataFrame d\u00f6nd\u00fcr\u00fcr ve orijinal DataFrame&#8217;i de\u011fi\u015ftirmez.<\/li>\n<li><code>True<\/code>: \u0130\u015flemi do\u011frudan orijinal DataFrame \u00fczerinde ger\u00e7ekle\u015ftirir ve <code>None<\/code> d\u00f6nd\u00fcr\u00fcr. Bu, bellek a\u00e7\u0131s\u0131ndan daha verimli olabilir ancak dikkatli kullan\u0131lmal\u0131d\u0131r, \u00e7\u00fcnk\u00fc orijinal verinizi geri d\u00f6nd\u00fcr\u00fclemez bir \u015fekilde de\u011fi\u015ftirir.<\/li>\n<\/ul>\n<pre><code class=\"language-python\">print(\"\\ninplace=True ile orijinal DataFrame'i de\u011fi\u015ftirme:\")\ndf.drop_duplicates(inplace=True)\nprint(df)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">inplace=True ile orijinal DataFrame'i de\u011fi\u015ftirme:\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n5     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>Bu i\u015flemden sonra <code>df<\/code> art\u0131k tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f haldedir.<\/p>\n<h5><code>ignore_index<\/code> Parametresi: \u0130ndeksi S\u0131f\u0131rlama<\/h5>\n<p><code>ignore_index<\/code> parametresi, tekrar eden sat\u0131rlar silindikten sonra kalan DataFrame&#8217;in indeksini s\u0131f\u0131rlay\u0131p s\u0131f\u0131rlamayaca\u011f\u0131n\u0131 kontrol eder.<\/p>\n<ul>\n<li><code>False<\/code> (Varsay\u0131lan): Orijinal indeks de\u011ferlerini korur.<\/li>\n<li><code>True<\/code>: Yeni DataFrame&#8217;in indeksini 0&#8217;dan ba\u015flayarak s\u0131f\u0131rlar. Bu, indeksin s\u0131ral\u0131 ve kesintisiz olmas\u0131n\u0131 istedi\u011finizde kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<\/ul>\n<pre><code class=\"language-python\">df_reset_index = pd.DataFrame(data).drop_duplicates(ignore_index=True)\nprint(\"\\n\u0130ndeksi s\u0131f\u0131rlanm\u0131\u015f tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\")\nprint(df_reset_index)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">\u0130ndeksi s\u0131f\u0131rlanm\u0131\u015f tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f DataFrame:\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n3     Cem      Ak   28     Bursa<\/code><\/pre>\n<p>Varsay\u0131lan <code>drop_duplicates()<\/code> \u00e7\u0131kt\u0131s\u0131ndaki indeks (0, 1, 2, 5) yerine, <code>ignore_index=True<\/code> ile (0, 1, 2, 3) \u015feklinde s\u0131ral\u0131 bir indeks elde ettik.<\/p>\n<h3>Pratik Kullan\u0131m Senaryolar\u0131 ve \u0130pu\u00e7lar\u0131<\/h3>\n<p><code>drop_duplicates()<\/code> fonksiyonunu veri temizleme g\u00f6revlerinizde daha etkin kullanman\u0131za yard\u0131mc\u0131 olacak baz\u0131 pratik senaryolar ve ipu\u00e7lar\u0131:<\/p>\n<h4>1. Sadece Belirli Bir S\u00fctunda Tekrar Eden De\u011ferleri Temizleme<\/h4>\n<p>Bazen sadece belirli bir anahtar s\u00fctundaki (\u00f6rne\u011fin, &#8216;E-posta Adresi&#8217; veya &#8216;Kullan\u0131c\u0131 Kimli\u011fi&#8217;) tekrarlar\u0131 temizlemek istersiniz.<\/p>\n<pre><code class=\"language-python\">data_users = {\n    'UserID': [101, 102, 103, 101, 104],\n    'Email': ['a@x.com', 'b@y.com', 'c@z.com', 'a@x.com', 'd@w.com'],\n    'LastLogin': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05']\n}\ndf_users = pd.DataFrame(data_users)\n\nprint(\"Orijinal Kullan\u0131c\u0131 DataFrame:\")\nprint(df_users)\n\n<h2>UserID'ye g\u00f6re tekrar edenleri sil, en son giri\u015fi koru<\/h2>\ndf_unique_users = df_users.drop_duplicates(subset=['UserID'], keep='last', ignore_index=True)\nprint(\"\\nUserID'ye g\u00f6re benzersiz kullan\u0131c\u0131lar (son giri\u015f korunarak):\")\nprint(df_unique_users)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Orijinal Kullan\u0131c\u0131 DataFrame:\n   UserID    Email   LastLogin\n0     101  a@x.com  2023-01-01\n1     102  b@y.com  2023-01-02\n2     103  c@z.com  2023-01-03\n3     101  a@x.com  2023-01-04\n4     104  d@w.com  2023-01-05\n\nUserID'ye g\u00f6re benzersiz kullan\u0131c\u0131lar (son giri\u015f korunarak):\n   UserID    Email   LastLogin\n0     102  b@y.com  2023-01-02\n1     103  c@z.com  2023-01-03\n2     101  a@x.com  2023-01-04\n3     104  d@w.com  2023-01-05<\/code><\/pre>\n<p>Burada, <code>UserID=101<\/code> i\u00e7in iki kay\u0131t vard\u0131. <code>keep='last'<\/code> sayesinde, 2023-01-04 tarihli son giri\u015f bilgisi korunmu\u015ftur.<\/p>\n<h4>2. Tekrar Eden Sat\u0131rlar\u0131 Sildikten Sonra \u0130ndeks Y\u00f6netimi<\/h4>\n<p><code>drop_duplicates()<\/code> i\u015flemi, baz\u0131 sat\u0131rlar\u0131 kald\u0131rd\u0131\u011f\u0131 i\u00e7in orijinal indeksin s\u0131ralamas\u0131n\u0131 bozabilir. E\u011fer sonraki i\u015flemlerinizde s\u0131ral\u0131 bir indekse ihtiyac\u0131n\u0131z varsa, <code>reset_index(drop=True)<\/code> kullanarak indeksi s\u0131f\u0131rlayabilirsiniz. <code>ignore_index=True<\/code> parametresi, <code>drop_duplicates()<\/code> ile ayn\u0131 anda bu i\u015flemi yapar.<\/p>\n<pre><code class=\"language-python\">df_temp = pd.DataFrame(data)\ndf_cleaned = df_temp.drop_duplicates().reset_index(drop=True)\nprint(\"\\nTekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f ve indeksi s\u0131f\u0131rlanm\u0131\u015f DataFrame (reset_index ile):\")\nprint(df_cleaned)<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Tekrarlardan ar\u0131nd\u0131r\u0131lm\u0131\u015f ve indeksi s\u0131f\u0131rlanm\u0131\u015f DataFrame (reset_index ile):\n       Ad   Soyad  Ya\u015f     \u015eehir\n0     Ali     Can   30    Ankara\n1    Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n2  Mehmet   Demir   35     \u0130zmir\n3     Cem      Ak   28     Bursa<\/code><\/pre>\n<h4>3. Tekrarlar\u0131 Tespit Etme (<code>duplicated()<\/code>)<\/h4>\n<p><code>drop_duplicates()<\/code> fonksiyonunu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce, veri setinizde ka\u00e7 tane tekrar eden sat\u0131r oldu\u011funu g\u00f6rmek isteyebilirsiniz. Bunun i\u00e7in <code>duplicated()<\/code> fonksiyonunu kullanabilirsiniz. <code>duplicated()<\/code> fonksiyonu, her sat\u0131r i\u00e7in bir boolean Series d\u00f6nd\u00fcr\u00fcr; <code>True<\/code> de\u011feri, o sat\u0131r\u0131n daha \u00f6nceki bir sat\u0131rla tekrar etti\u011fini g\u00f6sterir.<\/p>\n<pre><code class=\"language-python\">print(\"\\nTekrar eden sat\u0131rlar\u0131 tespit etme (duplicated()):\")\nprint(df.duplicated()) # df, inplace=True ile de\u011fi\u015ftirildi\u011fi i\u00e7in yeni df kullanmak daha do\u011fru\ntemp_df = pd.DataFrame(data) # Orijinal veri setini tekrar olu\u015ftural\u0131m\nprint(temp_df.duplicated())\n\n<h2>Tekrar eden sat\u0131rlar\u0131 g\u00f6r\u00fcnt\u00fcleme<\/h2>\nprint(\"\\nTekrar eden sat\u0131rlar (ikinci ve sonraki \u00f6rnekler):\")\nprint(temp_df[temp_df.duplicated()])\n\n<h2>keep='last' ile duplicated() kullanmak<\/h2>\nprint(\"\\nTekrar eden sat\u0131rlar\u0131 tespit etme (keep='last' ile):\")\nprint(temp_df.duplicated(keep='last'))\n\n<h2>keep=False ile duplicated() kullanmak<\/h2>\nprint(\"\\nTekrar eden sat\u0131rlar\u0131 tespit etme (keep=False ile):\")\nprint(temp_df.duplicated(keep=False))<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">Tekrar eden sat\u0131rlar\u0131 tespit etme (duplicated()):\n0    False\n1    False\n2    False\n3     True\n4     True\n5    False\ndtype: bool\n\nTekrar eden sat\u0131rlar (ikinci ve sonraki \u00f6rnekler):\n      Ad   Soyad  Ya\u015f     \u015eehir\n3    Ali     Can   30    Ankara\n4   Ay\u015fe  Y\u0131lmaz   25  \u0130stanbul\n\nTekrar eden sat\u0131rlar\u0131 tespit etme (keep='last' ile):\n0     True\n1     True\n2    False\n3    False\n4    False\n5    False\ndtype: bool\n\nTekrar eden sat\u0131rlar\u0131 tespit etme (keep=False ile):\n0     True\n1     True\n2    False\n3     True\n4     True\n5    False\ndtype: bool<\/code><\/pre>\n<p><code>duplicated(keep=False)<\/code> ile, tekrar eden herhangi bir grubun par\u00e7as\u0131 olan <em>t\u00fcm<\/em> sat\u0131rlar\u0131 <code>True<\/code> olarak i\u015faretleyerek, tamamen benzersiz sat\u0131rlar\u0131 kolayca filtreleyebilirsiniz.<\/p>\n<h3>Performans ve B\u00fcy\u00fck Veri K\u00fcmeleri<\/h3>\n<p>B\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken <code>drop_duplicates()<\/code> fonksiyonunun performans\u0131 \u00f6nemli olabilir. \u0130\u015flem s\u00fcresi, DataFrame&#8217;in boyutu, s\u00fctun say\u0131s\u0131 ve tekrar eden sat\u0131rlar\u0131n da\u011f\u0131l\u0131m\u0131na ba\u011fl\u0131 olarak de\u011fi\u015fir.<\/p>\n<p>*   <b>Bellek Kullan\u0131m\u0131:<\/b> <code>drop_duplicates()<\/code> i\u015flemi, dahili olarak bir hash tablosu veya s\u0131ralama algoritmas\u0131 kullanabilir. Bu, \u00f6zellikle \u00e7ok say\u0131da s\u00fctun veya b\u00fcy\u00fck metin alanlar\u0131 i\u00e7eren veri setleri i\u00e7in \u00f6nemli miktarda bellek t\u00fcketebilir.<br \/>\n*   <b>S\u00fctun Se\u00e7imi (<code>subset<\/code>):<\/b> M\u00fcmk\u00fcnse, <code>subset<\/code> parametresini kullanarak tekrar edenleri kontrol etmek i\u00e7in sadece gerekli s\u00fctunlar\u0131 belirtin. Bu, kar\u015f\u0131la\u015ft\u0131rma maliyetini d\u00fc\u015f\u00fcrerek performans\u0131 art\u0131rabilir. Daha az s\u00fctun \u00fczerinde hashleme veya s\u0131ralama yapmak, t\u00fcm s\u00fctunlar \u00fczerinde yapmaktan daha h\u0131zl\u0131d\u0131r.<br \/>\n*   <b><code>inplace=True<\/code> Kullan\u0131m\u0131:<\/b> <code>inplace=True<\/code> kullanmak, yeni bir DataFrame olu\u015fturma maliyetinden ka\u00e7\u0131nman\u0131z\u0131 sa\u011flar ve b\u00fcy\u00fck veri setleri i\u00e7in bellek a\u00e7\u0131s\u0131ndan daha verimli olabilir. Ancak, orijinal veriyi geri d\u00f6nd\u00fcr\u00fclemez bir \u015fekilde de\u011fi\u015ftirdi\u011fi i\u00e7in dikkatli kullan\u0131lmal\u0131d\u0131r.<\/p>\n<p>Genel olarak, Pandas <code>drop_duplicates()<\/code> fonksiyonu \u00e7o\u011fu durumda olduk\u00e7a optimize edilmi\u015f ve h\u0131zl\u0131 \u00e7al\u0131\u015f\u0131r. Ancak milyonlarca sat\u0131r ve y\u00fczlerce s\u00fctun i\u00e7eren \u00e7ok b\u00fcy\u00fck veri setlerinde, i\u015flem s\u00fcresini ve bellek kullan\u0131m\u0131n\u0131 izlemek ve gerekirse yukar\u0131daki ipu\u00e7lar\u0131n\u0131 uygulamak faydal\u0131 olacakt\u0131r.<\/p>\n<h3>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p>Pandas <code>drop_duplicates()<\/code> fonksiyonu, veri temizleme ve \u00f6n i\u015fleme ad\u0131mlar\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Veri setlerinizdeki gereksiz tekrarlar\u0131 ortadan kald\u0131rarak analizlerinizin do\u011frulu\u011funu art\u0131r\u0131r, depolama ve i\u015fleme verimlili\u011fini iyile\u015ftirir. <code>subset<\/code>, <code>keep<\/code>, <code>inplace<\/code> ve <code>ignore_index<\/code> gibi parametreleri kullanarak, bu fonksiyonu kendi \u00f6zel ihtiya\u00e7lar\u0131n\u0131za g\u00f6re esnek bir \u015fekilde uyarlayabilirsiniz.<\/p>\n<h4>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h4>\n<h3 id=\"sss-1\">1. <code>drop_duplicates()<\/code> ile <code>unique()<\/code> aras\u0131ndaki fark nedir?<\/h3>\n<p><code>drop_duplicates()<\/code> bir DataFrame veya Series&#8217;ten tekrar eden <em>sat\u0131rlar\u0131<\/em> veya <em>de\u011ferleri<\/em> kald\u0131r\u0131r ve geriye bir DataFrame veya Series d\u00f6nd\u00fcr\u00fcr. \u00d6rne\u011fin, <code>df.drop_duplicates()<\/code> t\u00fcm tekrar eden sat\u0131rlar\u0131 siler. <code>Series.unique()<\/code> ise bir Series&#8217;teki t\u00fcm benzersiz <em>de\u011ferleri<\/em> bir NumPy dizisi olarak d\u00f6nd\u00fcr\u00fcr. Sadece bir s\u00fctundaki benzersiz de\u011ferleri g\u00f6rmek istedi\u011finizde <code>df['S\u00fctunAd\u0131'].unique()<\/code> kullan\u0131rs\u0131n\u0131z.<\/p>\n<h3 id=\"sss-2\">2. Sadece belirli s\u00fctunlarda tekrar edenleri nas\u0131l bulurum?<\/h3>\n<p><code>subset<\/code> parametresini kullanarak belirli s\u00fctunlar\u0131 belirtebilirsiniz. \u00d6rne\u011fin, <code>df.drop_duplicates(subset=['UserID', 'TransactionID'])<\/code> sadece &#8216;UserID&#8217; ve &#8216;TransactionID&#8217; s\u00fctunlar\u0131nda ayn\u0131 olan sat\u0131rlar\u0131 dikkate alacakt\u0131r.<\/p>\n<h3 id=\"sss-3\">3. Tekrar eden sat\u0131rlar\u0131 sildikten sonra indeks neden bozulur ve nas\u0131l d\u00fczeltirim?<\/h3>\n<p><code>drop_duplicates()<\/code> fonksiyonu, sat\u0131rlar\u0131 kald\u0131rd\u0131\u011f\u0131 i\u00e7in orijinal indeks de\u011ferleri aras\u0131nda bo\u015fluklar olu\u015fabilir. \u00d6rne\u011fin, 0, 1, 2, 5 gibi bir indeksiniz olabilir. Bunu d\u00fczeltmek ve s\u0131ral\u0131, kesintisiz bir indeks elde etmek i\u00e7in <code>ignore_index=True<\/code> parametresini kullanabilir veya i\u015flemi yapt\u0131ktan sonra <code>reset_index(drop=True)<\/code> \u00e7a\u011f\u0131rabilirsiniz.<\/p>\n<h3 id=\"sss-4\">4. <code>NaN<\/code> (Not a Number) de\u011ferleri <code>drop_duplicates()<\/code> taraf\u0131ndan nas\u0131l ele al\u0131n\u0131r?<\/h3>\n<p>Pandas <code>drop_duplicates()<\/code>, <code>NaN<\/code> de\u011ferlerini birbirine e\u015fit kabul eder. Yani, iki farkl\u0131 sat\u0131rda ayn\u0131 s\u00fctunda <code>NaN<\/code> varsa, bu iki sat\u0131r\u0131n o s\u00fctun de\u011feri a\u00e7\u0131s\u0131ndan tekrar etti\u011fi kabul edilir. \u00d6rne\u011fin, <code>[1, NaN]<\/code> ve <code>[1, NaN]<\/code> iki tekrar eden sat\u0131r olarak de\u011ferlendirilir.<\/p>\n<h3 id=\"sss-5\">5. <code>drop_duplicates()<\/code> kullanmadan \u00f6nce ka\u00e7 tane tekrar eden sat\u0131r oldu\u011funu nas\u0131l \u00f6\u011frenebilirim?<\/h3>\n<p><code>duplicated()<\/code> fonksiyonunu kullanabilirsiniz. <code>df.duplicated().sum()<\/code> size tekrar eden (yani ilk \u00f6rnek d\u0131\u015f\u0131ndaki) sat\u0131r say\u0131s\u0131n\u0131 verir. E\u011fer <code>keep=False<\/code> davran\u0131\u015f\u0131n\u0131 sim\u00fcle etmek isterseniz, <code>df.duplicated(keep=False).sum()<\/code> size tekrar eden bir grubun par\u00e7as\u0131 olan <em>t\u00fcm<\/em> sat\u0131rlar\u0131n say\u0131s\u0131n\u0131 verecektir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu\nVeri analizi ve i\u015fleme s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan en yayg\u0131n sorunlardan bi","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-36283","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu\" \/>\n<meta property=\"og:description\" content=\"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu Veri analizi ve i\u015fleme s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan en yayg\u0131n sorunlardan bi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-12T11:41:21+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu\",\"datePublished\":\"2025-12-12T11:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\"},\"wordCount\":1663,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\",\"name\":\"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-12T11:41:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/","og_locale":"tr_TR","og_type":"article","og_title":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu","og_description":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu Veri analizi ve i\u015fleme s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan en yayg\u0131n sorunlardan bi","og_url":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-12T11:41:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu","datePublished":"2025-12-12T11:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/"},"wordCount":1663,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/","url":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/","name":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-12T11:41:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/veri-tekrarlarindan-arinma-pandas-drop_duplicates-fonksiyonu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Veri Tekrarlar\u0131ndan Ar\u0131nma: Pandas drop_duplicates() Fonksiyonu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36283"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36283\/revisions"}],"predecessor-version":[{"id":36284,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36283\/revisions\/36284"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}