{"id":39091,"date":"2026-02-14T10:40:47","date_gmt":"2026-02-14T07:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=39091"},"modified":"2026-02-14T10:40:47","modified_gmt":"2026-02-14T07:40:47","slug":"numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/","title":{"rendered":"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc"},"content":{"rendered":"<p><body><\/p>\n<h2>NumPy&#8217;da <code>cumsum()<\/code> Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc<\/h2>\n<p>NumPy, Python&#8217;da bilimsel hesaplamalar i\u00e7in temel bir k\u00fct\u00fcphanedir. \u00d6zellikle \u00e7ok boyutlu diziler (arrayler) ve bu diziler \u00fczerinde y\u00fcksek performansl\u0131 matematiksel i\u015flemler i\u00e7in optimize edilmi\u015ftir. Veri bilimi, makine \u00f6\u011frenimi, finans, m\u00fchendislik ve fizik gibi bir\u00e7ok alanda vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir. NumPy&#8217;\u0131n sundu\u011fu zengin fonksiyon setinden biri de <code>cumsum()<\/code> fonksiyonudur. Bu fonksiyon, dizilerdeki elemanlar\u0131n k\u00fcm\u00fclatif (birikimli) toplamlar\u0131n\u0131 hesaplamak i\u00e7in kullan\u0131l\u0131r ve veri analizinden sinyal i\u015flemeye kadar geni\u015f bir yelpazede kritik \u00f6neme sahiptir.<\/p>\n<p>Bu makalede, <code>numpy.cumsum()<\/code> fonksiyonunun ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, farkl\u0131 boyutlardaki dizilerle nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131, performans \u00f6zelliklerini ve \u00e7e\u015fitli pratik uygulama alanlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Ayr\u0131ca, bu fonksiyonu kullan\u0131rken dikkat edilmesi gereken noktalar\u0131 ve ilgili di\u011fer NumPy fonksiyonlar\u0131n\u0131 da ele alarak, okuyuculara <code>cumsum()<\/code> hakk\u0131nda kapsaml\u0131 bir rehber sunmay\u0131 ama\u00e7l\u0131yoruz.<\/p>\n<h3>K\u00fcm\u00fclatif Toplam Nedir? Temel Kavramlar<\/h3>\n<p>K\u00fcm\u00fclatif toplam, bir say\u0131 dizisindeki her eleman\u0131n, kendinden \u00f6nceki t\u00fcm elemanlar\u0131n toplam\u0131yla birle\u015ftirilmesiyle elde edilen yeni bir dizidir. Ba\u015fka bir deyi\u015fle, dizinin her noktas\u0131ndaki de\u011fer, o noktaya kadar olan t\u00fcm de\u011ferlerin toplam\u0131n\u0131 temsil eder.<\/p>\n<p>Matematiksel olarak ifade etmek gerekirse, e\u011fer $A = [a_1, a_2, \\ldots, a_n]$ bir say\u0131 dizisiyse, bu dizinin k\u00fcm\u00fclatif toplam\u0131 $C = [c_1, c_2, \\ldots, c_n]$ \u015feklinde bir dizi olacakt\u0131r. Burada:<br \/>\n$c_1 = a_1$<br \/>\n$c_2 = a_1 + a_2$<br \/>\n$c_3 = a_1 + a_2 + a_3$<br \/>\n&#8230;<br \/>\n$c_k = \\sum_{i=1}^{k} a_i$<\/p>\n<p>Basit bir \u00f6rnekle a\u00e7\u0131klayal\u0131m:<br \/>\nE\u011fer bir dizimiz <code>[1, 2, 3, 4, 5]<\/code> ise, k\u00fcm\u00fclatif toplam\u0131 \u015fu \u015fekilde hesaplan\u0131r:<br \/>\n*   \u0130lk eleman: 1<br \/>\n*   \u0130kinci eleman: 1 + 2 = 3<br \/>\n*   \u00dc\u00e7\u00fcnc\u00fc eleman: 1 + 2 + 3 = 6<br \/>\n*   D\u00f6rd\u00fcnc\u00fc eleman: 1 + 2 + 3 + 4 = 10<br \/>\n*   Be\u015finci eleman: 1 + 2 + 3 + 4 + 5 = 15<br \/>\nSonu\u00e7 olarak, k\u00fcm\u00fclatif toplam dizisi <code>[1, 3, 6, 10, 15]<\/code> olacakt\u0131r.<\/p>\n<p>K\u00fcm\u00fclatif toplamlar, finansal analizde (\u00f6rne\u011fin, birikimli kar\/zarar veya hisse senedi getirileri), veri analizinde (\u00e7al\u0131\u015fan toplamlar, trend analizi), istatistikte (k\u00fcm\u00fclatif da\u011f\u0131l\u0131m fonksiyonlar\u0131) ve sinyal i\u015flemede (ak\u00fcm\u00fclasyon) gibi bir\u00e7ok alanda temel bir ara\u00e7t\u0131r. Bir s\u00fcrecin zaman i\u00e7indeki toplam de\u011fi\u015fimini veya birikimini anlamak i\u00e7in son derece faydal\u0131d\u0131rlar.<\/p>\n<h3>NumPy&#8217;da <code>cumsum()<\/code> Fonksiyonuna Giri\u015f<\/h3>\n<p>NumPy k\u00fct\u00fcphanesi, k\u00fcm\u00fclatif toplamlar\u0131 hesaplamak i\u00e7in <code>numpy.cumsum()<\/code> fonksiyonunu sa\u011flar. Bu fonksiyon, Python&#8217;\u0131n yerle\u015fik listeleri veya d\u00f6ng\u00fclerle manuel olarak hesaplamaktan \u00e7ok daha h\u0131zl\u0131 ve verimlidir, \u00f6zellikle b\u00fcy\u00fck veri setleriyle \u00e7al\u0131\u015f\u0131rken bu performans fark\u0131 kritik hale gelir.<\/p>\n<p><code>numpy.cumsum()<\/code> fonksiyonunun temel s\u00f6zdizimi \u015f\u00f6yledir:<\/p>\n<pre><code class=\"language-python\">numpy.cumsum(a, axis=None, dtype=None, out=None)<\/code><\/pre>\n<p>Parametreleri a\u00e7\u0131klayal\u0131m:<\/p>\n<p>*   <code>a<\/code>: K\u00fcm\u00fclatif toplam\u0131 hesaplanacak olan giri\u015f dizisi (array-like). Bu bir NumPy dizisi, bir Python listesi veya ba\u015fka bir dizi benzeri nesne olabilir.<br \/>\n*   <code>axis<\/code>: (\u0130ste\u011fe ba\u011fl\u0131) K\u00fcm\u00fclatif toplam\u0131n hangi eksen boyunca hesaplanaca\u011f\u0131n\u0131 belirler. Varsay\u0131lan olarak <code>None<\/code>&#8216;d\u0131r.<br \/>\n    *   <code>axis=None<\/code> (varsay\u0131lan): Giri\u015f dizisi d\u00fczle\u015ftirilir (tek boyutlu hale getirilir) ve t\u00fcm elemanlar \u00fczerinde k\u00fcm\u00fclatif toplam hesaplan\u0131r. Sonu\u00e7 tek boyutlu bir dizi olur.<br \/>\n    *   <code>axis=0<\/code>: K\u00fcm\u00fclatif toplam, s\u00fctunlar boyunca (yani, sat\u0131rlar\u0131 birle\u015ftirerek) hesaplan\u0131r.<br \/>\n    *   <code>axis=1<\/code>: K\u00fcm\u00fclatif toplam, sat\u0131rlar boyunca (yani, s\u00fctunlar\u0131 birle\u015ftirerek) hesaplan\u0131r.<br \/>\n    *   Daha y\u00fcksek boyutlu dizilerde, <code>axis<\/code> parametresi ilgili boyutun indeksi olarak kullan\u0131l\u0131r.<br \/>\n*   <code>dtype<\/code>: (\u0130ste\u011fe ba\u011fl\u0131) D\u00f6nd\u00fcr\u00fclecek \u00e7\u0131kt\u0131 dizisinin veri tipini belirler. Varsay\u0131lan olarak, giri\u015f dizisinin veri tipi veya daha geni\u015f bir veri tipi (ta\u015fmay\u0131 \u00f6nlemek i\u00e7in) kullan\u0131l\u0131r.<br \/>\n*   <code>out<\/code>: (\u0130ste\u011fe ba\u011fl\u0131) Sonucun yaz\u0131laca\u011f\u0131 alternatif bir \u00e7\u0131kt\u0131 dizisi sa\u011flar. Bu, yeni bir dizi olu\u015fturma maliyetinden ka\u00e7\u0131narak performans\u0131 art\u0131rabilir. D\u00f6nd\u00fcr\u00fclen dizi <code>out<\/code> ile ayn\u0131 olmal\u0131d\u0131r.<\/p>\n<p>Fonksiyon, k\u00fcm\u00fclatif toplamlar\u0131 i\u00e7eren yeni bir NumPy dizisi d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h3>Tek Boyutlu Dizilerde <code>cumsum()<\/code> Kullan\u0131m\u0131<\/h3>\n<p>Tek boyutlu dizilerde <code>cumsum()<\/code> kullan\u0131m\u0131 en basit \u015feklidir. <code>axis<\/code> parametresi belirtilmedi\u011finde veya <code>axis=0<\/code> olarak ayarland\u0131\u011f\u0131nda (tek boyutlu diziler i\u00e7in), fonksiyon t\u00fcm elemanlar \u00fczerinde k\u00fcm\u00fclatif toplam\u0131 hesaplar.<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\n<h2>Pozitif say\u0131larla \u00f6rnek<\/h2>\narr1 = np.array([1, 2, 3, 4, 5])\ncumulative_sum1 = np.cumsum(arr1)\nprint(\"Dizi 1:\", arr1)\nprint(\"K\u00fcm\u00fclatif Toplam 1:\", cumulative_sum1)\n<h2>\u00c7\u0131kt\u0131: [ 1  3  6 10 15]<\/h2>\n\n<h2>Negatif say\u0131larla \u00f6rnek<\/h2>\narr2 = np.array([-1, 2, -3, 4, -5])\ncumulative_sum2 = np.cumsum(arr2)\nprint(\"Dizi 2:\", arr2)\nprint(\"K\u00fcm\u00fclatif Toplam 2:\", cumulative_sum2)\n<h2>\u00c7\u0131kt\u0131: [-1  1 -2  2 -3]<\/h2>\n\n<h2>Float say\u0131larla \u00f6rnek<\/h2>\narr3 = np.array([0.1, 0.2, 0.3, 0.4])\ncumulative_sum3 = np.cumsum(arr3)\nprint(\"Dizi 3:\", arr3)\nprint(\"K\u00fcm\u00fclatif Toplam 3:\", cumulative_sum3)\n<h2>\u00c7\u0131kt\u0131: [0.1 0.3 0.6 1. ]<\/code><\/pre>\n<\/h2>\n<p><code>NaN<\/code> (Not a Number) de\u011ferlerinin oldu\u011fu durumlarda <code>cumsum()<\/code> bu de\u011ferleri oldu\u011fu gibi yayar. Yani, <code>NaN<\/code> bir kez toplama dahil oldu\u011funda, ondan sonraki t\u00fcm k\u00fcm\u00fclatif toplamlar da <code>NaN<\/code> olacakt\u0131r. Bu davran\u0131\u015f, <code>NaN<\/code> de\u011ferlerinin varl\u0131\u011f\u0131n\u0131 izlemek i\u00e7in faydal\u0131 olabilir, ancak bazen \u00f6zel \u00f6n i\u015fleme gerektirebilir (\u00f6rne\u011fin, <code>NaN<\/code> de\u011ferlerini s\u0131f\u0131rla doldurmak veya yok saymak).<\/p>\n<pre><code class=\"language-python\">arr_nan = np.array([1, 2, np.nan, 4, 5])\ncumulative_sum_nan = np.cumsum(arr_nan)\nprint(\"NaN i\u00e7eren dizi:\", arr_nan)\nprint(\"NaN i\u00e7eren k\u00fcm\u00fclatif toplam:\", cumulative_sum_nan)\n<h2>\u00c7\u0131kt\u0131: [ 1.  3. nan nan nan]<\/code><\/pre>\n<\/h2>\n<h3>\u00c7ok Boyutlu Dizilerde <code>cumsum()<\/code> ve <code>axis<\/code> Parametresi<\/h3>\n<p><code>cumsum()<\/code> fonksiyonunun g\u00fcc\u00fc, \u00e7ok boyutlu dizilerle \u00e7al\u0131\u015f\u0131rken <code>axis<\/code> parametresiyle ortaya \u00e7\u0131kar. <code>axis<\/code> parametresi, k\u00fcm\u00fclatif toplam\u0131n hangi boyut boyunca hesaplanaca\u011f\u0131n\u0131 belirler. Bu, \u00f6zellikle matrisler veya daha y\u00fcksek boyutlu tens\u00f6rlerle \u00e7al\u0131\u015f\u0131rken \u00e7ok \u00f6nemlidir.<\/p>\n<h4><code>axis=None<\/code> (Varsay\u0131lan)<\/h4>\n<p><code>axis<\/code> parametresi belirtilmedi\u011finde veya <code>None<\/code> olarak ayarland\u0131\u011f\u0131nda, NumPy diziyi d\u00fczle\u015ftirir (yani, t\u00fcm elemanlar\u0131 tek bir s\u0131raya koyar) ve bu d\u00fczle\u015ftirilmi\u015f dizi \u00fczerinde k\u00fcm\u00fclatif toplam\u0131 hesaplar. Sonu\u00e7 her zaman tek boyutlu bir dizidir.<\/p>\n<pre><code class=\"language-python\">matrix = np.array([[1, 2, 3],\n                   [4, 5, 6]])\n\ncumulative_sum_flat = np.cumsum(matrix, axis=None)\nprint(\"Orijinal Matris:\\n\", matrix)\nprint(\"D\u00fczle\u015ftirilmi\u015f K\u00fcm\u00fclatif Toplam (axis=None):\\n\", cumulative_sum_flat)\n<h2>\u00c7\u0131kt\u0131: [ 1  3  6 10 15 21]<\/code><\/pre>\n<\/h2>\n<p>Yukar\u0131daki \u00f6rnekte, matris <code>[1, 2, 3, 4, 5, 6]<\/code> \u015feklinde d\u00fczle\u015ftirilir ve k\u00fcm\u00fclatif toplam bu d\u00fczle\u015ftirilmi\u015f dizi \u00fczerinde hesaplan\u0131r.<\/p>\n<h4><code>axis=0<\/code>: S\u00fctunlar Boyunca K\u00fcm\u00fclatif Toplam<\/h4>\n<p><code>axis=0<\/code> olarak ayarland\u0131\u011f\u0131nda, k\u00fcm\u00fclatif toplam her s\u00fctun boyunca (yani, sat\u0131rlar aras\u0131nda a\u015fa\u011f\u0131 do\u011fru) hesaplan\u0131r. Her s\u00fctun kendi i\u00e7inde ayr\u0131 ayr\u0131 toplan\u0131r. Sonu\u00e7 dizisinin \u015fekli orijinal diziyle ayn\u0131 olur.<\/p>\n<pre><code class=\"language-python\">matrix = np.array([[1, 2, 3],\n                   [4, 5, 6],\n                   [7, 8, 9]])\n\ncumulative_sum_axis0 = np.cumsum(matrix, axis=0)\nprint(\"Orijinal Matris:\\n\", matrix)\nprint(\"S\u00fctunlar Boyunca K\u00fcm\u00fclatif Toplam (axis=0):\\n\", cumulative_sum_axis0)\n<h2>\u00c7\u0131kt\u0131:<\/h2>\n<h2>[[ 1  2  3]  <-- \u0130lk sat\u0131r oldu\u011fu gibi kal\u0131r<\/h2>\n<h2>[ 5  7  9]  <-- [1+4, 2+5, 3+6]<\/h2>\n<h2>[12 15 18]] <-- [1+4+7, 2+5+8, 3+6+9]<\/code><\/pre>\n<\/h2>\n<p>Bu \u00f6rnekte:<br \/>\n*   \u0130lk s\u00fctun i\u00e7in: <code>[1, 4, 7]<\/code> -> <code>[1, 1+4, 1+4+7]<\/code> = <code>[1, 5, 12]<\/code><br \/>\n*   \u0130kinci s\u00fctun i\u00e7in: <code>[2, 5, 8]<\/code> -> <code>[2, 2+5, 2+5+8]<\/code> = <code>[2, 7, 15]<\/code><br \/>\n*   \u00dc\u00e7\u00fcnc\u00fc s\u00fctun i\u00e7in: <code>[3, 6, 9]<\/code> -> <code>[3, 3+6, 3+6+9]<\/code> = <code>[3, 9, 18]<\/code><\/p>\n<h4><code>axis=1<\/code>: Sat\u0131rlar Boyunca K\u00fcm\u00fclatif Toplam<\/h4>\n<p><code>axis=1<\/code> olarak ayarland\u0131\u011f\u0131nda, k\u00fcm\u00fclatif toplam her sat\u0131r boyunca (yani, s\u00fctunlar aras\u0131nda sa\u011fa do\u011fru) hesaplan\u0131r. Her sat\u0131r kendi i\u00e7inde ayr\u0131 ayr\u0131 toplan\u0131r. Sonu\u00e7 dizisinin \u015fekli orijinal diziyle ayn\u0131 olur.<\/p>\n<pre><code class=\"language-python\">matrix = np.array([[1, 2, 3],\n                   [4, 5, 6],\n                   [7, 8, 9]])\n\ncumulative_sum_axis1 = np.cumsum(matrix, axis=1)\nprint(\"Orijinal Matris:\\n\", matrix)\nprint(\"Sat\u0131rlar Boyunca K\u00fcm\u00fclatif Toplam (axis=1):\\n\", cumulative_sum_axis1)\n<h2>\u00c7\u0131kt\u0131:<\/h2>\n<h2>[[ 1  3  6]  <-- [1, 1+2, 1+2+3]<\/h2>\n<h2>[ 4  9 15]  <-- [4, 4+5, 4+5+6]<\/h2>\n<h2>[ 7 15 24]] <-- [7, 7+8, 7+8+9]<\/code><\/pre>\n<\/h2>\n<p>Bu \u00f6rnekte:<br \/>\n*   \u0130lk sat\u0131r i\u00e7in: <code>[1, 2, 3]<\/code> -> <code>[1, 1+2, 1+2+3]<\/code> = <code>[1, 3, 6]<\/code><br \/>\n*   \u0130kinci sat\u0131r i\u00e7in: <code>[4, 5, 6]<\/code> -> <code>[4, 4+5, 4+5+6]<\/code> = <code>[4, 9, 15]<\/code><br \/>\n*   \u00dc\u00e7\u00fcnc\u00fc sat\u0131r i\u00e7in: <code>[7, 8, 9]<\/code> -> <code>[7, 7+8, 7+8+9]<\/code> = <code>[7, 15, 24]<\/code><\/p>\n<h4>Daha Y\u00fcksek Boyutlu Dizilerde <code>axis<\/code><\/h4>\n<p>\u00dc\u00e7 boyutlu veya daha y\u00fcksek boyutlu dizilerde de <code>axis<\/code> parametresi benzer \u015fekilde \u00e7al\u0131\u015f\u0131r. \u00d6rne\u011fin, bir 3D dizi i\u00e7in:<br \/>\n*   <code>axis=0<\/code>: \u0130lk boyut (katmanlar\/derinlik) boyunca toplama yapar.<br \/>\n*   <code>axis=1<\/code>: \u0130kinci boyut (sat\u0131rlar) boyunca toplama yapar.<br \/>\n*   <code>axis=2<\/code>: \u00dc\u00e7\u00fcnc\u00fc boyut (s\u00fctunlar) boyunca toplama yapar.<\/p>\n<pre><code class=\"language-python\">tensor_3d = np.arange(1, 28).reshape(3, 3, 3)\nprint(\"Orijinal 3D Dizi (3x3x3):\\n\", tensor_3d)\n\n<h2>axis=0 (derinlik\/katmanlar boyunca)<\/h2>\ncumsum_axis0_3d = np.cumsum(tensor_3d, axis=0)\nprint(\"\\naxis=0 boyunca k\u00fcm\u00fclatif toplam:\\n\", cumsum_axis0_3d)\n<h2>\u0130lk katman oldu\u011fu gibi kal\u0131r<\/h2>\n<h2>\u0130kinci katman: \u0130lk katman + \u0130kinci katman<\/h2>\n<h2>\u00dc\u00e7\u00fcnc\u00fc katman: \u0130lk katman + \u0130kinci katman + \u00dc\u00e7\u00fcnc\u00fc katman<\/h2>\n\n<h2>axis=1 (sat\u0131rlar boyunca)<\/h2>\ncumsum_axis1_3d = np.cumsum(tensor_3d, axis=1)\nprint(\"\\naxis=1 boyunca k\u00fcm\u00fclatif toplam:\\n\", cumsum_axis1_3d)\n<h2>Her bir derinlikteki matrisin sat\u0131rlar\u0131 boyunca k\u00fcm\u00fclatif toplam<\/h2>\n\n<h2>axis=2 (s\u00fctunlar boyunca)<\/h2>\ncumsum_axis2_3d = np.cumsum(tensor_3d, axis=2)\nprint(\"\\naxis=2 boyunca k\u00fcm\u00fclatif toplam:\\n\", cumsum_axis2_3d)\n<h2>Her bir derinlikteki matrisin s\u00fctunlar\u0131 boyunca k\u00fcm\u00fclatif toplam<\/code><\/pre>\n<\/h2>\n<p><code>axis<\/code> parametresinin do\u011fru anla\u015f\u0131lmas\u0131 ve kullan\u0131lmas\u0131, \u00e7ok boyutlu veri manip\u00fclasyonunda temel bir beceridir ve <code>cumsum()<\/code>'\u0131n esnekli\u011fini maksimize eder.<\/p>\n<h3><code>dtype<\/code> Parametresi: Veri Tipini Belirleme<\/h3>\n<p><code>dtype<\/code> parametresi, <code>cumsum()<\/code> fonksiyonunun d\u00f6nd\u00fcrece\u011fi \u00e7\u0131kt\u0131 dizisinin veri tipini (data type) kontrol etmenizi sa\u011flar. NumPy, genellikle giri\u015f dizisinin veri tipine g\u00f6re veya ta\u015fmay\u0131 \u00f6nlemek i\u00e7in daha geni\u015f bir veri tipine otomatik olarak y\u00fckseltme yapar. Ancak, bazen belirli bir veri tipiyle \u00e7al\u0131\u015fmak isteyebilirsiniz.<\/p>\n<p>\u00d6rne\u011fin, k\u00fc\u00e7\u00fck tam say\u0131larla \u00e7al\u0131\u015f\u0131rken sonu\u00e7lar\u0131n b\u00fcy\u00fcyebilece\u011fi ve bir tam say\u0131 ta\u015fmas\u0131na (integer overflow) neden olabilece\u011fi durumlar olabilir. Tam say\u0131 ta\u015fmas\u0131, bir say\u0131n\u0131n depolanabilece\u011fi maksimum de\u011feri a\u015fmas\u0131 durumunda beklenmedik sonu\u00e7lara yol a\u00e7ar. Bunu \u00f6nlemek i\u00e7in, <code>dtype<\/code>'\u0131 daha geni\u015f bir tam say\u0131 tipi (<code>int64<\/code>) veya kayan nokta tipi (<code>float64<\/code>) olarak belirleyebilirsiniz.<\/p>\n<pre><code class=\"language-python\">arr_int = np.array([100000, 200000, 300000], dtype=np.int32)\nprint(\"Orijinal dizi (int32):\", arr_int)\nprint(\"Orijinal dizi veri tipi:\", arr_int.dtype)\n\n<h2>Otomatik dtype y\u00fckseltme<\/h2>\ncumulative_sum_auto = np.cumsum(arr_int)\nprint(\"Otomatik k\u00fcm\u00fclatif toplam:\", cumulative_sum_auto)\nprint(\"Otomatik k\u00fcm\u00fclatif toplam veri tipi:\", cumulative_sum_auto.dtype)\n<h2>\u00c7\u0131kt\u0131: int64 (NumPy, ta\u015fmay\u0131 \u00f6nlemek i\u00e7in int64'e y\u00fckseltir)<\/h2>\n\n<h2>Manuel dtype belirleme (float64)<\/h2>\ncumulative_sum_float = np.cumsum(arr_int, dtype=np.float64)\nprint(\"float64 olarak k\u00fcm\u00fclatif toplam:\", cumulative_sum_float)\nprint(\"float64 k\u00fcm\u00fclatif toplam veri tipi:\", cumulative_sum_float.dtype)\n<h2>\u00c7\u0131kt\u0131: float64<\/h2>\n\n<h2>Ta\u015fma \u00f6rne\u011fi (e\u011fer NumPy otomatik y\u00fckseltme yapmasayd\u0131)<\/h2>\n<h2>Not: NumPy bu durumda otomatik olarak y\u00fckseltece\u011fi i\u00e7in bu \u00f6rne\u011fi \u00e7al\u0131\u015ft\u0131rmak ta\u015fma g\u00f6stermez.<\/h2>\n<h2>Ancak konsepti anlamak i\u00e7in \u00f6nemlidir.<\/h2>\n<h2>K\u00fc\u00e7\u00fck bir int tipiyle b\u00fcy\u00fck toplamlar:<\/h2>\n<h2>arr_small_int = np.array([30000, 30000, 30000], dtype=np.int16) # max ~32767<\/h2>\n<h2>cumsum_small_int = np.cumsum(arr_small_int) # Bu hala int32 veya int64 olacakt\u0131r<\/h2>\n<h2>E\u011fer zorla int16'ya d\u00fc\u015f\u00fcr\u00fclseydi: [30000, 60000 (ta\u015fma), 90000 (ta\u015fma)]<\/code><\/pre>\n<\/h2>\n<p><code>dtype<\/code> parametresi, \u00f6zellikle bellek kullan\u0131m\u0131 veya belirli hassasiyet gereksinimleri oldu\u011funda faydal\u0131d\u0131r. \u00d6rne\u011fin, \u00e7ok b\u00fcy\u00fck dizilerle \u00e7al\u0131\u015f\u0131rken <code>float32<\/code> kullanmak, <code>float64<\/code>'e g\u00f6re daha az bellek t\u00fcketir ancak daha d\u00fc\u015f\u00fck hassasiyet sunar.<\/p>\n<h3><code>out<\/code> Parametresi: Sonu\u00e7 Dizisini Belirleme<\/h3>\n<p><code>out<\/code> parametresi, <code>cumsum()<\/code> fonksiyonunun sonucunu, \u00f6nceden tahsis edilmi\u015f belirli bir NumPy dizisine yazmas\u0131n\u0131 sa\u011flar. Bu, \u00f6zellikle performans a\u00e7\u0131s\u0131ndan kritik durumlarda veya bellek tahsisini kontrol etmek istedi\u011finizde kullan\u0131\u015fl\u0131d\u0131r. Yeni bir dizi olu\u015fturmaktan ka\u00e7\u0131narak bellek tahsisi ve kopyalama maliyetini azaltabilir.<\/p>\n<p><code>out<\/code> parametresi olarak verilen dizinin, \u00e7\u0131kt\u0131 dizisiyle ayn\u0131 \u015fekle ve uyumlu bir veri tipine sahip olmas\u0131 gerekir.<\/p>\n<pre><code class=\"language-python\">arr = np.array([1, 2, 3, 4, 5])\nresult_array = np.empty_like(arr) # arr ile ayn\u0131 \u015fekle ve dtype'a sahip bo\u015f bir dizi olu\u015ftur\n\nnp.cumsum(arr, out=result_array)\nprint(\"Orijinal dizi:\", arr)\nprint(\"Sonu\u00e7 dizisi (out parametresi kullan\u0131larak):\", result_array)\n<h2>\u00c7\u0131kt\u0131: [ 1  3  6 10 15]<\/h2>\n\n<h2>Farkl\u0131 bir \u00f6rnek:<\/h2>\narr_large = np.arange(1, 1000001) # 1 milyon elemanl\u0131 dizi\noutput_large = np.zeros_like(arr_large, dtype=np.int64) # \u00c7\u0131kt\u0131 i\u00e7in bellek ay\u0131r\n\n<h2>out parametresi olmadan<\/h2>\n<h2>%timeit np.cumsum(arr_large) # Yakla\u015f\u0131k 3-5 ms<\/h2>\n\n<h2>out parametresi ile<\/h2>\n<h2>%timeit np.cumsum(arr_large, out=output_large) # Yakla\u015f\u0131k 2-4 ms (genellikle biraz daha h\u0131zl\u0131 veya ayn\u0131)<\/code><\/pre>\n<\/h2>\n<p>B\u00fcy\u00fck dizilerle yap\u0131lan i\u015flemlerde, <code>out<\/code> parametresinin kullan\u0131m\u0131 k\u00fc\u00e7\u00fck ama \u00f6l\u00e7\u00fclebilir bir performans iyile\u015fmesi sa\u011flayabilir, \u00f6zellikle d\u00f6ng\u00fcler i\u00e7inde tekrar tekrar \u00e7a\u011fr\u0131lan fonksiyonlar i\u00e7in.<\/p>\n<h3><code>cumsum()<\/code>'\u0131n Performans\u0131 ve Verimlili\u011fi<\/h3>\n<p>NumPy'\u0131n <code>cumsum()<\/code> fonksiyonu, Python'\u0131n yerle\u015fik listeleri veya manuel d\u00f6ng\u00fclerle k\u00fcm\u00fclatif toplam hesaplamaya k\u0131yasla \u00e7ok daha h\u0131zl\u0131d\u0131r. Bu performans fark\u0131n\u0131n temel nedenleri \u015funlard\u0131r:<\/p>\n<p>1.  <strong>C ile Uygulama:<\/strong> NumPy'\u0131n \u00e7ekirdek fonksiyonlar\u0131, C veya Fortran gibi d\u00fc\u015f\u00fck seviyeli dillerde optimize edilmi\u015f kodlarla yaz\u0131lm\u0131\u015ft\u0131r. Bu, Python'\u0131n yorumlama maliyetinden ka\u00e7\u0131narak do\u011frudan makine kodunda \u00e7al\u0131\u015fmay\u0131 sa\u011flar.<br \/>\n2.  <strong>Vekt\u00f6rel \u0130\u015flemler:<\/strong> NumPy, t\u00fcm dizi \u00fczerinde tek bir i\u015flem olarak \u00e7al\u0131\u015f\u0131r (vekt\u00f6rizasyon). Bu, Python'daki <code>for<\/code> d\u00f6ng\u00fclerinin her eleman i\u00e7in ayr\u0131 ayr\u0131 Python yorumlay\u0131c\u0131s\u0131n\u0131 \u00e7a\u011f\u0131rmas\u0131ndan kaynaklanan ek y\u00fck\u00fc ortadan kald\u0131r\u0131r.<br \/>\n3.  <strong>Bellek Y\u00f6netimi:<\/strong> NumPy dizileri bellekte biti\u015fik bloklar halinde depolan\u0131r. Bu, verilere daha h\u0131zl\u0131 eri\u015fim sa\u011flar ve i\u015flemci \u00f6nbelle\u011fini daha verimli kullan\u0131r. Python listeleri ise bellekte da\u011f\u0131n\u0131k nesneleri tutan referanslardan olu\u015fur.<\/p>\n<p>Basit bir kar\u015f\u0131la\u015ft\u0131rma ile bu fark\u0131 g\u00f6rebiliriz:<\/p>\n<pre><code class=\"language-python\">import time\n\n<h2>Python listesi ve manuel d\u00f6ng\u00fc<\/h2>\ndef python_cumsum(arr):\n    cumulative_list = []\n    current_sum = 0\n    for x in arr:\n        current_sum += x\n        cumulative_list.append(current_sum)\n    return cumulative_list\n\ndata_size = 1000000 # 1 milyon eleman\npython_list = list(range(data_size))\nnumpy_array = np.arange(data_size)\n\n<h2>Python ile s\u00fcre \u00f6l\u00e7\u00fcm\u00fc<\/h2>\nstart_time = time.perf_counter()\npy_result = python_cumsum(python_list)\nend_time = time.perf_counter()\nprint(f\"Python cumsum s\u00fcresi: {(end_time - start_time):.6f} saniye\")\n\n<h2>NumPy ile s\u00fcre \u00f6l\u00e7\u00fcm\u00fc<\/h2>\nstart_time = time.perf_counter()\nnp_result = np.cumsum(numpy_array)\nend_time = time.perf_counter()\nprint(f\"NumPy cumsum s\u00fcresi: {(end_time - start_time):.6f} saniye\")\n\n<h2>Genellikle NumPy, Python'dan y\u00fczlerce kat daha h\u0131zl\u0131 olacakt\u0131r.<\/h2>\n<h2>\u00d6rne\u011fin: Python ~0.1-0.2 saniye, NumPy ~0.001-0.002 saniye<\/code><\/pre>\n<\/h2>\n<p>Bu performans \u00fcst\u00fcnl\u00fc\u011f\u00fc, b\u00fcy\u00fck veri setleriyle \u00e7al\u0131\u015fan veri bilimcileri ve m\u00fchendisler i\u00e7in NumPy'\u0131 vazge\u00e7ilmez k\u0131lar. <code>cumsum()<\/code> gibi temel i\u015flemlerin bile optimize edilmi\u015f olmas\u0131, karma\u015f\u0131k algoritmalar\u0131n genel performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<\/p>\n<h3><code>cumsum()<\/code> \u0130\u00e7in Pratik Uygulama Alanlar\u0131<\/h3>\n<p><code>cumsum()<\/code> fonksiyonu, basit bir matematiksel i\u015flem olmas\u0131na ra\u011fmen, bir\u00e7ok farkl\u0131 alanda g\u00fc\u00e7l\u00fc ve pratik uygulamalara sahiptir:<\/p>\n<h4>1. Finansal Analiz<\/h4>\n<p>*   <strong>Hisse Senedi Getirileri:<\/strong> Bir hisse senedinin veya portf\u00f6y\u00fcn g\u00fcnl\u00fck getirilerinin k\u00fcm\u00fclatif toplam\u0131, zaman i\u00e7indeki toplam getiriyi veya kay\u0131plar\u0131 g\u00f6sterir.<\/p>\n<pre><code class=\"language-python\">daily_returns = np.array([0.01, -0.005, 0.02, -0.01, 0.03]) # G\u00fcnl\u00fck getiriler\n    cumulative_returns = (1 + daily_returns).cumprod() - 1 # K\u00fcm\u00fclatif \u00e7arpan getiri\n    print(\"K\u00fcm\u00fclatif Getiriler:\", cumulative_returns)\n    # E\u011fer basit toplam getiri isteniyorsa:\n    # cumulative_sum_returns = np.cumsum(daily_returns)\n    # print(\"Basit K\u00fcm\u00fclatif Getiri Toplam\u0131:\", cumulative_sum_returns)<\/code><\/pre>\n<p>*   <strong>B\u00fct\u00e7e Takibi\/Nakit Ak\u0131\u015f\u0131:<\/strong> Bir \u015firketin veya bireyin g\u00fcnl\u00fck\/ayl\u0131k gelir ve giderlerinin k\u00fcm\u00fclatif toplam\u0131, belirli bir d\u00f6nemdeki toplam nakit ak\u0131\u015f\u0131n\u0131 veya b\u00fct\u00e7e durumunu g\u00f6sterir.<br \/>\n*   <strong>K\u00fcm\u00fclatif Kar\/Zarar:<\/strong> Bir dizi i\u015flemden elde edilen kar ve zararlar\u0131n k\u00fcm\u00fclatif toplam\u0131, toplam finansal performans\u0131 izlemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>2. Veri Analizi ve \u0130statistik<\/h4>\n<p>*   <strong>\u00c7al\u0131\u015fan Toplamlar (Running Sums):<\/strong> Bir veri ak\u0131\u015f\u0131ndaki veya zaman serisindeki \u00e7al\u0131\u015fan toplamlar\u0131 hesaplamak, trendleri ve birikimleri g\u00f6rselle\u015ftirmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>K\u00fcm\u00fclatif Da\u011f\u0131l\u0131m Fonksiyonlar\u0131 (CDF):<\/strong> Olas\u0131l\u0131k da\u011f\u0131l\u0131mlar\u0131nda, k\u00fcm\u00fclatif toplamlar bir de\u011fi\u015fkenin belirli bir de\u011ferden k\u00fc\u00e7\u00fck veya ona e\u015fit olma olas\u0131l\u0131\u011f\u0131n\u0131 veren CDF'leri hesaplamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-python\">data = np.array([1, 1, 2, 3, 3, 3, 4, 5])\n    unique_values, counts = np.unique(data, return_counts=True)\n    probabilities = counts \/ len(data)\n    cumulative_probabilities = np.cumsum(probabilities)\n    print(\"De\u011ferler:\", unique_values)\n    print(\"Olas\u0131l\u0131klar:\", probabilities)\n    print(\"K\u00fcm\u00fclatif Olas\u0131l\u0131klar (CDF):\", cumulative_probabilities)<\/code><\/pre>\n<p>*   <strong>S\u0131ral\u0131 \u0130statistikler:<\/strong> S\u0131ral\u0131 veriler \u00fczerinde \u00e7e\u015fitli istatistiksel metriklerin hesaplanmas\u0131nda temel olu\u015fturur.<\/p>\n<h4>3. G\u00f6r\u00fcnt\u00fc \u0130\u015fleme<\/h4>\n<p>*   <strong>Integral G\u00f6r\u00fcnt\u00fc (Summed-Area Table):<\/strong> G\u00f6r\u00fcnt\u00fc i\u015flemede, bir integral g\u00f6r\u00fcnt\u00fc (veya summed-area table), her pikselin de\u011ferini, kendisinin ve solundaki ve \u00fcst\u00fcndeki t\u00fcm piksellerin toplam\u0131 olarak depolar. Bu, dikd\u00f6rtgen b\u00f6lgelerdeki piksel toplamlar\u0131n\u0131 \u00e7ok h\u0131zl\u0131 bir \u015fekilde hesaplamak i\u00e7in kullan\u0131l\u0131r ve \u00f6zellikle Haar \u00f6zellikleri gibi \u00f6zellik \u00e7\u0131kar\u0131m\u0131nda veya filtrelemede \u00f6nemlidir. <code>cumsum()<\/code> bu tablolar\u0131n olu\u015fturulmas\u0131nda temel bir ad\u0131md\u0131r.<\/p>\n<pre><code class=\"language-python\">image_data = np.array([[1, 2, 3],\n                           [4, 5, 6],\n                           [7, 8, 9]])\n    integral_image_row = np.cumsum(image_data, axis=1) # \u00d6nce sat\u0131rlar boyunca\n    integral_image = np.cumsum(integral_image_row, axis=0) # Sonra s\u00fctunlar boyunca\n    print(\"Orijinal G\u00f6r\u00fcnt\u00fc Verisi:\\n\", image_data)\n    print(\"\u0130ntegral G\u00f6r\u00fcnt\u00fc (Basitle\u015ftirilmi\u015f):\\n\", integral_image)<\/code><\/pre>\n<h4>4. Sinyal \u0130\u015fleme<\/h4>\n<p>*   <strong>Ak\u00fcm\u00fclasyon:<\/strong> Bir sinyalin zaman i\u00e7indeki toplam enerjisini veya birikimini hesaplamak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, bir ses sinyalinin enerji birikimi veya bir sens\u00f6rden gelen verilerin toplam de\u011fi\u015fimi.<br \/>\n*   <strong>Hareket Tespiti:<\/strong> Sens\u00f6r verilerindeki k\u00fcm\u00fclatif de\u011fi\u015fiklikleri izleyerek hareket veya durum de\u011fi\u015fikliklerini tespit etmek.<\/p>\n<h4>5. Di\u011fer Uygulamalar<\/h4>\n<p>*   <strong>Veri D\u00fczeltme:<\/strong> Bir sens\u00f6r\u00fcn zamanla biriken hatas\u0131n\u0131 d\u00fczeltmek i\u00e7in k\u00fcm\u00fclatif toplamlar kullan\u0131labilir.<br \/>\n*   <strong>\u00d6n Ek Toplamlar (Prefix Sums):<\/strong> Algoritmalarda belirli aral\u0131klardaki toplamlar\u0131 h\u0131zl\u0131ca bulmak i\u00e7in kullan\u0131lan bir teknik olan \u00f6n ek toplamlar\u0131 olu\u015fturmak.<\/p>\n<h3>\u0130lgili NumPy Fonksiyonlar\u0131 ve Alternatifler<\/h3>\n<p><code>numpy.cumsum()<\/code> ile yak\u0131ndan ili\u015fkili veya benzer i\u015flevlere sahip ba\u015fka NumPy fonksiyonlar\u0131 ve Python k\u00fct\u00fcphaneleri de bulunmaktad\u0131r:<\/p>\n<p>*   <strong><code>numpy.cumprod()<\/code>:<\/strong> K\u00fcm\u00fclatif toplam yerine k\u00fcm\u00fclatif \u00e7arp\u0131m\u0131 hesaplar. Yani, dizideki her eleman, kendinden \u00f6nceki t\u00fcm elemanlar\u0131n \u00e7arp\u0131m\u0131yla birle\u015ftirilir.<\/p>\n<pre><code class=\"language-python\">arr_prod = np.array([1, 2, 3, 4, 5])\n    cumulative_product = np.cumprod(arr_prod)\n    print(\"K\u00fcm\u00fclatif \u00c7arp\u0131m:\", cumulative_product)\n    # \u00c7\u0131kt\u0131: [  1   2   6  24 120]<\/code><\/pre>\n<p>*   <strong><code>numpy.diff()<\/code>:<\/strong> Bir dizinin ard\u0131\u015f\u0131k elemanlar\u0131 aras\u0131ndaki farklar\u0131 hesaplar. Bu, <code>cumsum()<\/code>'\u0131n tersi bir i\u015flem olarak d\u00fc\u015f\u00fcn\u00fclebilir. E\u011fer bir dizi \u00fczerinde <code>cumsum()<\/code> uyguland\u0131ysa, <code>diff()<\/code> uygulamak orijinal diziye geri d\u00f6nmenizi sa\u011flar (ilk eleman hari\u00e7).<\/p>\n<pre><code class=\"language-python\">arr_original = np.array([1, 2, 3, 4, 5])\n    cumulative = np.cumsum(arr_original)\n    print(\"K\u00fcm\u00fclatif:\", cumulative) # [ 1  3  6 10 15]\n    diff_result = np.diff(cumulative)\n    print(\"Fark:\", diff_result) # [ 2  3  4  5] (\u0130lk eleman olan 1 eksik)<\/code><\/pre>\n<p>*   <strong><code>numpy.add.accumulate()<\/code>:<\/strong> <code>cumsum()<\/code> ile ayn\u0131 i\u015flevi g\u00f6ren daha genel bir NumPy ufunc (\u00fcniversal fonksiyon) metodudur. <code>np.cumsum(a)<\/code> asl\u0131nda <code>np.add.accumulate(a)<\/code>'n\u0131n \u00f6zel bir durumudur.<br \/>\n*   <strong>Pandas K\u00fct\u00fcphanesi:<\/strong> Pandas DataFrame ve Series nesneleri de <code>cumsum()<\/code> metoduna sahiptir. Pandas, yap\u0131land\u0131r\u0131lm\u0131\u015f verilerle \u00e7al\u0131\u015fmak i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015ft\u0131r ve <code>cumsum()<\/code>'\u0131 gruplama (groupby) i\u015flemleriyle birle\u015ftirmek gibi daha karma\u015f\u0131k senaryolarda \u00e7ok g\u00fc\u00e7l\u00fcd\u00fcr.<\/p>\n<pre><code class=\"language-python\">import pandas as pd\n    s = pd.Series([1, 2, 3, 4, 5])\n    print(\"Pandas Series cumsum:\\n\", s.cumsum())\n\n    df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n    print(\"Pandas DataFrame cumsum (s\u00fctunlar boyunca varsay\u0131lan):\\n\", df.cumsum())\n    print(\"Pandas DataFrame cumsum (sat\u0131rlar boyunca):\\n\", df.cumsum(axis=1))<\/code><\/pre>\n<p>    Pandas'\u0131n <code>cumsum()<\/code>'\u0131, <code>NaN<\/code> de\u011ferlerini varsay\u0131lan olarak atlar (<code>skipna=True<\/code>), bu da NumPy'dan farkl\u0131 bir davran\u0131\u015ft\u0131r ve veri analizinde genellikle daha kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3><code>cumsum()<\/code> Kullan\u0131rken Dikkat Edilmesi Gerekenler<\/h3>\n<p><code>numpy.cumsum()<\/code> g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, onu kullan\u0131rken baz\u0131 \u00f6nemli noktalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak faydal\u0131d\u0131r:<\/p>\n<p>*   <strong>Veri Tipi Ta\u015fmas\u0131 (Overflow):<\/strong> \u00d6zellikle <code>int32<\/code> gibi s\u0131n\u0131rl\u0131 aral\u0131\u011fa sahip tam say\u0131 tipleriyle \u00e7al\u0131\u015f\u0131rken, k\u00fcm\u00fclatif toplamlar\u0131n b\u00fcy\u00fcyerek veri tipi aral\u0131\u011f\u0131n\u0131 a\u015fmas\u0131 m\u00fcmk\u00fcnd\u00fcr. Bu durumda, <code>dtype<\/code> parametresini <code>np.int64<\/code> veya <code>np.float64<\/code> gibi daha geni\u015f bir tipe ayarlayarak ta\u015fmay\u0131 \u00f6nlemelisiniz. NumPy \u00e7o\u011fu durumda otomatik olarak daha geni\u015f bir tipe y\u00fckseltme yapsa da, bu davran\u0131\u015f\u0131 bilmek ve kontrol etmek \u00f6nemlidir.<br \/>\n*   <strong><code>NaN<\/code> De\u011ferlerinin Y\u00f6netimi:<\/strong> <code>cumsum()<\/code>, <code>NaN<\/code> de\u011ferlerini yoksaymaz; bir <code>NaN<\/code> de\u011feri toplama dahil edildi\u011finde, sonraki t\u00fcm k\u00fcm\u00fclatif toplamlar da <code>NaN<\/code> olur. E\u011fer bu istenmeyen bir durumsa, <code>np.nan_to_num()<\/code> kullanarak <code>NaN<\/code> de\u011ferlerini s\u0131f\u0131rla de\u011fi\u015ftirebilir veya <code>np.isnan()<\/code> ile bu de\u011ferleri filtreleyip \u00f6zel olarak i\u015fleyebilirsiniz. Pandas'\u0131n <code>cumsum()<\/code>'\u0131 <code>skipna=True<\/code> varsay\u0131lan\u0131yla <code>NaN<\/code>'lar\u0131 atlar, bu da bazen daha sezgisel olabilir.<br \/>\n*   <strong>Bellek Kullan\u0131m\u0131:<\/strong> B\u00fcy\u00fck dizilerle \u00e7al\u0131\u015f\u0131rken, <code>cumsum()<\/code> orijinal diziyle ayn\u0131 boyutta yeni bir dizi d\u00f6nd\u00fcr\u00fcr. Bu, bellek t\u00fcketimini iki kat\u0131na \u00e7\u0131karabilir. \u00c7ok b\u00fcy\u00fck diziler i\u00e7in bellek k\u0131s\u0131tlamalar\u0131 varsa <code>out<\/code> parametresini kullanmay\u0131 veya veriyi daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6lerek i\u015flemeyi d\u00fc\u015f\u00fcnebilirsiniz.<br \/>\n*   <strong><code>axis<\/code> Parametresi:<\/strong> \u00c7ok boyutlu dizilerde <code>axis<\/code> parametresinin do\u011fru anla\u015f\u0131lmas\u0131 kritik \u00f6neme sahiptir. Yanl\u0131\u015f <code>axis<\/code> se\u00e7imi, beklenen sonu\u00e7lar\u0131 vermeyen hatal\u0131 hesaplamalara yol a\u00e7abilir. Her zaman <code>axis<\/code> de\u011ferinin ne anlama geldi\u011fini ve \u00e7\u0131kt\u0131y\u0131 nas\u0131l etkiledi\u011fini g\u00f6rselle\u015ftirmeye \u00e7al\u0131\u015f\u0131n.<\/p>\n<h3>Geli\u015fmi\u015f Konular ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>*   <strong>K\u00fcm\u00fclatif Ortalama (Cumulative Mean):<\/strong> K\u00fcm\u00fclatif toplam\u0131, her ad\u0131mda toplanan eleman say\u0131s\u0131na b\u00f6lerek k\u00fcm\u00fclatif ortalamay\u0131 hesaplayabilirsiniz.<\/p>\n<pre><code class=\"language-python\">data = np.array([1, 2, 3, 4, 5])\n    cumulative_sum = np.cumsum(data)\n    cumulative_count = np.arange(1, len(data) + 1)\n    cumulative_mean = cumulative_sum \/ cumulative_count\n    print(\"K\u00fcm\u00fclatif Ortalama:\", cumulative_mean)\n    # \u00c7\u0131kt\u0131: [1.  1.5 2.  2.5 3. ]<\/code><\/pre>\n<p>*   <strong>Ko\u015fullu K\u00fcm\u00fclatif Toplamlar:<\/strong> Belirli bir ko\u015fula uyan elemanlar\u0131n k\u00fcm\u00fclatif toplam\u0131n\u0131 hesaplamak i\u00e7in, \u00f6nce ko\u015fulu uygulayarak bir maske olu\u015fturabilir ve ard\u0131ndan sadece bu elemanlar \u00fczerinde <code>cumsum()<\/code> uygulayabilirsiniz.<\/p>\n<pre><code class=\"language-python\">data = np.array([1, -2, 3, -4, 5])\n    positive_data = np.where(data > 0, data, 0) # Sadece pozitifleri al, di\u011ferleri 0\n    cumulative_positive_sum = np.cumsum(positive_data)\n    print(\"Ko\u015fullu K\u00fcm\u00fclatif Toplam (Sadece Pozitifler):\", cumulative_positive_sum)\n    # \u00c7\u0131kt\u0131: [1  1  4  4  9]<\/code><\/pre>\n<p>*   <strong>Resetlenen K\u00fcm\u00fclatif Toplamlar:<\/strong> Bazen, belirli bir ko\u015ful kar\u015f\u0131land\u0131\u011f\u0131nda k\u00fcm\u00fclatif toplam\u0131n s\u0131f\u0131rlanmas\u0131 gerekebilir. Bu, genellikle daha karma\u015f\u0131k bir mant\u0131k gerektirir ve do\u011frudan <code>cumsum()<\/code> ile yap\u0131lamaz ancak bir d\u00f6ng\u00fc veya daha geli\u015fmi\u015f Pandas\/NumPy teknikleriyle uygulanabilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p><code>numpy.cumsum()<\/code> fonksiyonu, NumPy k\u00fct\u00fcphanesinin sundu\u011fu temel ancak son derece g\u00fc\u00e7l\u00fc ara\u00e7lardan biridir. K\u00fcm\u00fclatif toplamlar\u0131 h\u0131zl\u0131 ve verimli bir \u015fekilde hesaplama yetene\u011fi, onu veri analizinden finansal modellemeye, g\u00f6r\u00fcnt\u00fc i\u015flemeden sinyal i\u015flemeye kadar bir\u00e7ok bilimsel ve m\u00fchendislik uygulamas\u0131nda vazge\u00e7ilmez k\u0131lar.<\/p>\n<p>Bu makalede, <code>cumsum()<\/code>'\u0131n temel kullan\u0131m\u0131ndan <code>axis<\/code>, <code>dtype<\/code> ve <code>out<\/code> gibi parametrelerin derinlemesine incelenmesine, performans \u00f6zelliklerinden pratik uygulama alanlar\u0131na ve ilgili di\u011fer fonksiyonlara kadar geni\u015f bir yelpazede bilgi sunduk. <code>cumsum()<\/code>'\u0131 do\u011fru bir \u015fekilde anlamak ve kullanmak, NumPy ile verimli ve etkili bir \u015fekilde \u00e7al\u0131\u015fmak i\u00e7in kritik bir ad\u0131md\u0131r. B\u00fcy\u00fck veri setleriyle u\u011fra\u015f\u0131rken veya karma\u015f\u0131k matematiksel i\u015flemleri h\u0131zland\u0131rmak istedi\u011finizde, <code>numpy.cumsum()<\/code> her zaman ba\u015fvurabilece\u011finiz g\u00fcvenilir bir ara\u00e7 olacakt\u0131r. Bu fonksiyonun sundu\u011fu esneklik ve performans, Python'da bilimsel hesaplamalar\u0131n neden bu kadar pop\u00fcler oldu\u011funu bir kez daha g\u00f6stermektedir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc\nNumPy, Python&#8217;da bilimsel hesaplamalar i\u00e7in temel bir k\u00fct\u00fcphanedir. \u00d6zellikle \u00e7ok","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-39091","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>NumPy&#039;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc - 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\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NumPy&#039;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc\" \/>\n<meta property=\"og:description\" content=\"NumPy&#039;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc NumPy, Python&#039;da bilimsel hesaplamalar i\u00e7in temel bir k\u00fct\u00fcphanedir. \u00d6zellikle \u00e7ok\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-14T07:40:47+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc\",\"datePublished\":\"2026-02-14T07:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\"},\"wordCount\":2643,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\",\"name\":\"NumPy'da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-14T07:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc\"}]},{\"@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":"NumPy'da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc - 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\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/","og_locale":"tr_TR","og_type":"article","og_title":"NumPy'da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc","og_description":"NumPy'da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc NumPy, Python'da bilimsel hesaplamalar i\u00e7in temel bir k\u00fct\u00fcphanedir. \u00d6zellikle \u00e7ok","og_url":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-14T07:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc","datePublished":"2026-02-14T07:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/"},"wordCount":2643,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/","url":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/","name":"NumPy'da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-14T07:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/numpyda-cumsum-fonksiyonu-kumulatif-toplamlarin-gucu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"NumPy&#8217;da cumsum() Fonksiyonu: K\u00fcm\u00fclatif Toplamlar\u0131n G\u00fcc\u00fc"}]},{"@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\/39091","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=39091"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39091\/revisions"}],"predecessor-version":[{"id":39092,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39091\/revisions\/39092"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}