Grup dengan di untuk loop python

Dalam tutorial sebelumnya, kita telah membahas dasar-dasar Python for loop, melihat bagaimana melakukan iterasi melalui daftar dan daftar daftar. Tapi ada lebih banyak untuk loop daripada mengulang daftar, dan dalam pekerjaan sains data dunia nyata, Anda mungkin ingin menggunakan for loop dengan struktur data lain, termasuk array numpy dan panda DataFrames

Tutorial ini dimulai dengan cara menggunakan for loop untuk melakukan iterasi melalui struktur data Python umum selain daftar (seperti tupel dan kamus). Kemudian kita akan mempelajari penggunaan for loop bersamaan dengan pustaka ilmu data Python umum seperti

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
1,
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
2, dan
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
3. Kami juga akan melihat lebih dekat pada fungsi
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
4 dan bagaimana itu berguna saat menulis untuk loop

Tinjauan Cepat. Python Untuk Loop

A for loop adalah pernyataan pemrograman yang memberi tahu Python untuk mengulang kumpulan objek, melakukan operasi yang sama pada setiap objek secara berurutan. Sintaks dasarnya adalah

for object in collection_of_objects:
    # code you want to execute on each object
_

Setiap kali Python melakukan iterasi melalui loop, variabel

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
5 mengambil nilai dari objek berikutnya dalam urutan kita
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
6, dan Python akan mengeksekusi kode yang telah kita tulis pada setiap objek dari
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
6 secara berurutan

Sekarang, mari selami cara menggunakan for loop dengan berbagai jenis struktur data. Kami akan melewatkan daftar karena telah dibahas dalam tutorial sebelumnya;

Struktur data

Tupel

Tuple adalah urutan, seperti daftar. Perbedaan antara tupel dan daftar adalah bahwa tupel tidak dapat diubah; . Tuples juga menggunakan tanda kurung, bukan tanda kurung siku

Terlepas dari perbedaan ini, perulangan tupel sangat mirip dengan daftar

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50

Jika kita memiliki daftar tupel, kita dapat mengakses elemen individual di setiap tupel dalam daftar kita dengan memasukkan keduanya sebagai variabel dalam perulangan for, seperti itu

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11

Kamus

Selain daftar dan tupel, kamus adalah tipe data Python umum lainnya yang mungkin Anda temui saat bekerja dengan data, dan for loop juga dapat beralih melalui kamus.

Kamus Python terdiri dari pasangan kunci-nilai, jadi di setiap loop, ada dua elemen yang perlu kita akses (kunci dan nilainya). Alih-alih menggunakan

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
8 seperti yang kita lakukan dengan daftar, untuk mengulang kedua kunci dan nilai yang sesuai untuk setiap pasangan nilai kunci, kita perlu memanggil metode
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
9

Misalnya, bayangkan kita memiliki kamus bernama

AAPL : 187.31
MSFT : 124.06
FB : 183.5
0 yang berisi ticker saham dan harga saham yang sesuai. Kami akan menggunakan metode
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
_9 pada kamus kami untuk menghasilkan kunci dan nilai untuk setiap iterasi

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
AAPL : 187.31
MSFT : 124.06
FB : 183.5

Perhatikan bahwa kunci nama dan nilai sepenuhnya arbitrer;

String

Seperti yang disebutkan dalam tutorial pengantar, for loop juga dapat mengulang melalui setiap karakter dalam sebuah string. Sebagai ulasan singkat, berikut cara kerjanya

print("data science")  
for c in "data science":
    print(c)
data science
d
a
t
a

s
c
i
e
n
c
e

Array Numpy

Sekarang, mari kita lihat bagaimana for loop dapat digunakan dengan paket ilmu data Python umum dan tipe datanya

Kita akan mulai dengan melihat bagaimana menggunakan for loop dengan

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
1 array, jadi mari kita mulai dengan membuat beberapa array angka acak

import numpy as np
np.random.seed(0)  # seed for reproducibility
x = np.random.randint(10, size=6)
y = np.random.randint(10, size=6)

Iterasi pada array numpy satu dimensi sangat mirip dengan iterasi pada daftar

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
0
x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
1

Sekarang, bagaimana jika kita ingin melakukan iterasi melalui array dua dimensi?

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
2
x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
3

Array dua dimensi dibangun dari sepasang array satu dimensi. Untuk mengunjungi setiap elemen daripada setiap larik, kita dapat menggunakan fungsi numpy

AAPL : 187.31
MSFT : 124.06
FB : 183.5
3, objek iterator multi-dimensi yang menggunakan larik sebagai argumennya

Pada kode di bawah ini, kita akan menulis perulangan for yang mengulang setiap elemen dengan meneruskan

AAPL : 187.31
MSFT : 124.06
FB : 183.5
4, larik dua dimensi kita, sebagai argumen untuk
AAPL : 187.31
MSFT : 124.06
FB : 183.5
3

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
4
x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
5

Seperti yang bisa kita lihat, ini pertama-tama mencantumkan semua elemen di x, lalu semua elemen y

Ingat. Saat mengulang melalui struktur data yang berbeda ini, kamus memerlukan metode, array numpy memerlukan fungsi

Bingkai Data Panda

Saat kami bekerja dengan data di Python, kami sering menggunakan

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
2 DataFrames. Dan untungnya, kita bisa menggunakan for loop untuk mengulanginya juga

Mari berlatih melakukan ini sambil bekerja dengan file CSV kecil yang mencatat PDB, ibu kota, dan populasi untuk enam negara berbeda. Kami akan membaca ini menjadi DataFrame panda di bawah ini

Panda bekerja sedikit berbeda dari numpy, jadi kami tidak akan dapat mengulangi proses numpy yang telah kami pelajari. Jika kami mencoba untuk mengulangi panda DataFrame seperti yang kami lakukan pada array numpy, ini hanya akan mencetak nama kolom

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
6
x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
7

Sebagai gantinya, kita perlu menyebutkan secara eksplisit bahwa kita ingin mengulangi baris DataFrame. Kami melakukan ini dengan memanggil metode

AAPL : 187.31
MSFT : 124.06
FB : 183.5
_7 pada DataFrame, dan mencetak label baris dan data baris, di mana satu baris adalah seluruh seri panda

x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
8
x = (10,20,30,40,50)
for var in x:
    print("index "+ str(x.index(var)) + ":",var)
9

Kami juga dapat mengakses nilai spesifik dari seri panda. Misalkan kita hanya ingin mencetak ibukota masing-masing negara. Kita dapat menentukan bahwa kita hanya menginginkan keluaran dari kolom "Modal" seperti itu

index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
0
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
1

Untuk melangkah lebih jauh dari sekadar cetakan sederhana, mari tambahkan kolom menggunakan loop for. Mari tambahkan kolom PDB per kapita. Ingatlah bahwa

AAPL : 187.31
MSFT : 124.06
FB : 183.5
_8 berbasis label. Pada kode di bawah ini, kami akan menambahkan kolom dan menghitung isinya untuk setiap negara dengan membagi total PDB dari populasinya dan mengalikan hasilnya dengan satu triliun (karena angka PDB tercantum dalam triliunan)

index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
2
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
3

Untuk setiap baris dalam kerangka data kami, kami membuat label baru, dan menyetel data baris sama dengan total PDB dibagi dengan populasi negara, dan dikalikan dengan $1T untuk ribuan dolar

Fungsi stocks = { 'AAPL': 187.31, 'MSFT': 124.06, 'FB': 183.50 } for key, value in stocks.items() : print(key + " : " + str(value)) 4

Kita telah melihat bagaimana kita dapat menggunakan for loop untuk melakukan iterasi pada urutan atau struktur data apa pun. Tetapi bagaimana jika kita ingin mengulangi urutan ini dalam urutan tertentu, atau untuk beberapa kali tertentu?

Ini dapat dicapai dengan fungsi

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
4 bawaan Python. Bergantung pada berapa banyak argumen yang Anda berikan ke fungsi, Anda dapat memutuskan di mana rangkaian angka tersebut akan dimulai dan diakhiri serta seberapa besar perbedaan antara satu angka dan angka berikutnya. Perhatikan bahwa, mirip dengan daftar, hitungan fungsi
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
4 dimulai dari 0 dan bukan dari 1

Ada tiga cara untuk memanggil

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
4

  1. rentang (berhenti)
  2. rentang (mulai, berhenti)
  3. rentang (mulai, berhenti, langkah)

print("data science")  
for c in "data science":
    print(c)
_3

range(stop) mengambil satu argumen, digunakan ketika kita ingin mengulangi serangkaian angka yang dimulai dari 0 dan menyertakan setiap angka hingga, tetapi tidak termasuk, angka yang kita atur sebagai stop

index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
4
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
5

print("data science")  
for c in "data science":
    print(c)
_4

range(start, stop) membutuhkan dua argumen, di mana kita tidak hanya dapat mengatur akhir seri tetapi juga awal. Anda dapat menggunakan range() untuk menghasilkan serangkaian angka dari A ke B menggunakan range(A, B)

index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
6
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
7

print("data science")  
for c in "data science":
    print(c)
_5

range(start, stop, step) membutuhkan tiga argumen. Selain nilai minimum dan maksimum, kita dapat mengatur selisih antara satu angka dalam urutan dan angka berikutnya. Nilai langkah default adalah 1 jika tidak ada yang diberikan

index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
8
index 0: 10
index 1: 20
index 2: 30
index 3: 40
index 4: 50
9

Perhatikan bahwa ini berfungsi sama untuk urutan non-numerik

Kita juga dapat menggunakan indeks elemen secara berurutan untuk melakukan iterasi. Ide kuncinya adalah pertama-tama menghitung panjang daftar dan kemudian mengulangi urutan dalam rentang panjang ini. Mari kita lihat sebuah contoh

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
0
x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
1

Dalam perulangan for kami di atas, kami melihat indeks dan bahasa variabel, kata kunci in, dan fungsi

stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
4 untuk membuat urutan angka. Perhatikan bahwa kami juga menggunakan fungsi
print("data science")  
for c in "data science":
    print(c)
_7 dalam kasus ini, karena daftarnya bukan numerik

Untuk setiap iterasi, kami mengeksekusi pernyataan cetak kami. Jadi untuk setiap indeks dalam rentang len(languages), kami ingin mencetak sebuah bahasa. Karena panjang urutan bahasa kita adalah 6 (yaitu nilai yang dievaluasi oleh

print("data science")  
for c in "data science":
    print(c)
8), kita dapat menulis ulang pernyataan sebagai berikut

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
2
x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
1

Merencanakan dengan For Loops

Misalkan kita ingin mengulangi koleksi, dan menggunakan setiap elemen untuk menghasilkan subplot, atau bahkan untuk setiap pelacakan dalam satu plot. Sebagai contoh, mari ambil kumpulan data iris yang populer (pelajari lebih lanjut tentang data ini) dan lakukan beberapa plotting dengan for loop. Perhatikan grafik di bawah ini

(Jika Anda tidak terbiasa dengan Matplotlib atau Seaborn, lihat panduan pemula untuk Kyso ini. Matplotlib, Seaborn. Dataquest juga menawarkan kursus interaktif tentang visualisasi data Python)

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
4
x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
5
x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
6

Grup dengan di untuk loop python

Di atas, kami telah memplot setiap panjang sepal vs lebar sepal, tetapi kami dapat memberikan grafik lebih banyak makna dengan mewarnai setiap titik data dengan kelas spesies masing-masing bunga. Salah satu cara untuk melakukannya adalah dengan menyebarkan setiap titik dengan sendirinya menggunakan perulangan for dan meneruskan warna masing-masing

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
7
x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
6

Grup dengan di untuk loop python

Bagaimana jika kita ingin memvisualisasikan distribusi univariat dari fitur tertentu dari kumpulan data iris kita?

x = [(1,2), (3,4), (5,6)]

for a, b in x:
    print(a, "plus", b, "equals", a+b)
_9

Grup dengan di untuk loop python

Tanpa mendalami sintaks matplotlib untuk saat ini, di bawah ini adalah deskripsi singkat dari setiap komponen utama grafik kita

  • plt. subplot ( ) – digunakan untuk membuat kisi 2-kali-2 dan mengatur ukuran keseluruhan
  • zip() – ini adalah fungsi python bawaan yang membuatnya sangat mudah untuk mengulang beberapa iterables dengan panjang yang sama secara bersamaan
  • kapak. ratakan( ), di mana ratakan( ) adalah metode array numpy – ini mengembalikan versi rata dari array (kolom) kita
  • kapak. set() – memungkinkan kita untuk mengatur semua atribut objek
    data science
    d
    a
    t
    a
    
    s
    c
    i
    e
    n
    c
    e
    
    0 kita dengan satu metode

Operasi Tambahan

Loop Bersarang

Python memungkinkan kita untuk menggunakan satu loop di dalam loop lain. Ini melibatkan loop luar yang memiliki, di dalam perintahnya, sebuah loop dalam

Perhatikan struktur berikut

1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
_0

Pengulangan for bersarang dapat berguna untuk mengulangi item dalam daftar yang terdiri dari daftar. Dalam daftar yang terdiri dari daftar, jika kita menggunakan hanya satu perulangan for, program akan menampilkan setiap daftar internal sebagai item

1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
1
1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
2

Untuk mengakses setiap item dari daftar internal, kami mendefinisikan loop for bersarang

________11
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
_11_______4

Di atas, loop luar untuk mengulang melalui daftar-daftar utama (yang berisi dua daftar dalam contoh ini) dan loop dalam untuk mengulang melalui daftar individual itu sendiri. Loop luar mengeksekusi 2 iterasi (untuk setiap sub-daftar) dan pada setiap iterasi kami mengeksekusi loop dalam kami, mencetak semua elemen dari sub-daftar masing-masing

Ini memberi tahu kita bahwa kontrol bergerak dari loop terluar, melintasi loop dalam dan kemudian kembali lagi ke loop luar untuk, berlanjut hingga kontrol telah mencakup seluruh rentang, yaitu 2 kali dalam kasus ini

Melanjutkan dan Melanggar Untuk Loops

Pernyataan kontrol loop mengubah eksekusi loop for dari urutan normalnya

Bagaimana jika kita ingin memfilter bahasa tertentu di dalam lingkaran dalam kita?

1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
5
1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
6

Di loop kami di atas, di dalam loop dalam, jika bahasanya sama dengan "Jerman", kami melewati iterasi itu saja dan melanjutkan dengan sisa loop. Loop tidak diakhiri

Mari kita lihat contoh numerik di bawah ini

1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
7
1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
8

Jadi di sini, kita telah mendefinisikan loop yang mengulang semua angka 0 hingga 9, dan mengkuadratkan setiap angka. Di dalam loop kami, pada setiap iterasi, kami memeriksa apakah angka tersebut habis dibagi 2, pada titik mana loop akan terus dieksekusi, melewatkan iterasi ketika saya mengevaluasi ke angka genap

Bagaimana dengan pernyataan istirahat? . Mari kita lihat demonstrasi sederhana tentang cara kerjanya menggunakan contoh yang sama seperti di atas

1 plus 2 equals 3
3 plus 4 equals 7
5 plus 6 equals 11
_9
stocks = {
        'AAPL': 187.31,
        'MSFT': 124.06,
        'FB': 183.50
    }

for key, value in stocks.items() :
    print(key + " : " + str(value))
0

Dalam contoh di atas, pernyataan if kita menyajikan kondisi bahwa jika variabel i bernilai 7, perulangan kita akan terputus, sehingga perulangan kita mengulang bilangan bulat 0 sampai 6 sebelum benar-benar keluar dari perulangan

Mencari lebih banyak?

  • Tutorial Python — Daftar tutorial Python untuk ilmu data kami yang terus bertambah
  • Kursus Ilmu Data — Tingkatkan studi Anda ke tingkat berikutnya dengan kursus pemrograman, ilmu data, dan statistik yang sepenuhnya interaktif, langsung di browser Anda

Kesimpulan

Dalam tutorial ini, kita belajar tentang beberapa aplikasi for loop yang lebih canggih, dan bagaimana mereka dapat digunakan dalam alur kerja ilmu data Python biasa

Kami belajar cara mengulangi berbagai jenis struktur data, dan bagaimana loop dapat digunakan dengan panda DataFrames dan matplotlib untuk membuat banyak jejak atau sub-plot secara terprogram

Terakhir, kita melihat beberapa teknik yang lebih canggih yang memberi kita lebih banyak kontrol atas operasi dan eksekusi for loop kita

Jika Anda ingin mempelajari lebih lanjut tentang topik ini, lihat Ilmuwan Data Dataquest di jalur Python yang akan membantu Anda siap kerja dalam waktu sekitar 6 bulan

Apakah tutorial ini membantu?

Pilih jalur Anda untuk terus mempelajari keterampilan data yang berharga

Grup dengan di untuk loop python

Grup dengan di untuk loop python

Tutorial Python

Latih keterampilan pemrograman Python Anda saat Anda mengerjakan tutorial gratis kami

kursus ilmu data

Berkomitmen pada studi Anda dengan kursus sains data interaktif dalam browser Anda di Python, R, SQL, dan lainnya

for loopsintermediateMatplotlibNumpyPandaspythonrangetutorialTutorials

Tentang Penulis

Kyle O Shea

Co-founder dan Pemimpin Ilmu Data di Kyso. Kyso adalah tempat Anda dapat membuat blog & berbagi ilmu data, dan menemukan wawasan & visualisasi data yang mengagumkan. Ini seperti Medium, tetapi untuk ilmu data

Bagaimana Anda mengulang melalui grup dengan Python?

groupby() untuk Iterasi melalui Grup bingkai Data. Bingkai Data. fungsi groupby() di Python digunakan untuk membagi data menjadi beberapa grup berdasarkan beberapa kriteria.

Apa yang dilakukan groupby () dengan Python?

groupby() digunakan untuk membagi data menjadi beberapa grup berdasarkan beberapa kriteria . objek panda dapat dibelah pada salah satu sumbunya.

Bisakah kita menggunakan grup dengan Python?

GrupBy dengan Python dan SQL digunakan untuk memisahkan data identik ke dalam grup untuk memungkinkan agregasi dan analisis lebih lanjut . GroupBy dengan Python dilakukan menggunakan perpustakaan panda. groupby() dan Group By dalam SQL dilakukan menggunakan pernyataan SQL GROUP BY.

Apa itu grup dengan () di perpustakaan panda?

Groupby adalah salah satu fungsi Pandas yang paling sering digunakan dalam analisis data. Ini digunakan untuk mengelompokkan titik data (mis. e. baris) berdasarkan nilai yang berbeda dalam kolom atau kolom tertentu . Kami kemudian dapat menghitung nilai agregat untuk grup yang dihasilkan.