全部产品
Search
文档中心

MaxCompute:Fungsi jendela

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi jendela yang didukung oleh DataFrame API.

Contoh penggunaan

  • Gunakan fungsi jendela untuk mengelompokkan dataset iris berdasarkan kolom nama, mengembalikan objek DataFrameGroupBy bernama grouped. Operasi selanjutnya dilakukan secara independen pada setiap grup.

    Catatan

    Untuk informasi lebih lanjut tentang sumber dataset iris, lihat Gunakan DataFrame untuk Memproses Data.

    iris = DataFrame(o.get_table('pyodps_iris'))
    grouped = iris.groupby('name')
    print(grouped.mutate(grouped.sepallength.cumsum(), grouped.sort('sepallength').row_number()).head(10))

    Hasil berikut dikembalikan:

                name  sepallength_sum  row_number
    0  Iris-setosa            250.3           1
    1  Iris-setosa            250.3           2
    2  Iris-setosa            250.3           3
    3  Iris-setosa            250.3           4
    4  Iris-setosa            250.3           5
    5  Iris-setosa            250.3           6
    6  Iris-setosa            250.3           7
    7  Iris-setosa            250.3           8
    8  Iris-setosa            250.3           9
    9  Iris-setosa            250.3          10
  • Gunakan fungsi jendela untuk memilih kolom.

    iris = DataFrame(o.get_table('pyodps_iris'))
    print(iris['name', 'sepallength', iris.groupby('name').sort('sepallength').sepallength.cumcount()].head(5))

    Hasil berikut dikembalikan:

              name  sepallength  sepallength_count
    0  Iris-setosa          4.3                  1
    1  Iris-setosa          4.4                  2
    2  Iris-setosa          4.4                  3
    3  Iris-setosa          4.4                  4
    4  Iris-setosa          4.5                  5
  • Gunakan fungsi jendela untuk mengumpulkan data berdasarkan skalar. Metode pemrosesan sama dengan pengumpulan berbasis grup.

    from odps.df import Scalar
    iris = DataFrame(o.get_table('pyodps_iris'))
    iris.groupby(Scalar(1)).sort('sepallength').sepallength.cumcount()

Pengenalan fungsi

Tabel berikut mencantumkan fungsi jendela yang didukung oleh DataFrame API.

Fungsi jendela

Deskripsi

cumsum

Menghitung jumlah kumulatif.

cummean

Menghitung rata-rata kumulatif.

cummedian

Menghitung median kumulatif.

cumstd

Menghitung standar deviasi kumulatif.

cummax

Menghitung maksimum kumulatif.

cummin

Menghitung minimum kumulatif.

cumcount

Menghitung jumlah kumulatif.

lag

Mengambil nilai dari baris pada offset tertentu yang mendahului baris saat ini. Sistem menentukan nomor baris untuk mengambil nilai berdasarkan rumus berikut: Nomor baris saat ini - Nilai offset.

lead

Mengambil nilai dari baris pada offset tertentu yang mengikuti baris saat ini. Sistem menentukan nomor baris untuk mengambil nilai berdasarkan rumus berikut: Nomor baris saat ini + Nilai offset.

rank

Menghitung peringkat baris dalam grup yang diurutkan.

dense_rank

Menghitung peringkat padat baris dalam grup yang diurutkan.

percent_rank

Menghitung peringkat relatif baris dalam grup yang diurutkan.

row_number

Menghitung nomor baris. Nomor baris dimulai dari 1.

qcut

Membagi sekelompok data menjadi N bin berdasarkan urutan data dan mengembalikan nomor bin yang berisi data saat ini. Jika data tidak terdistribusi merata di bin, lebih banyak data akan didistribusikan ke bin pertama secara default.

nth_value

Mengambil nilai ke-N dalam grup.

cume_dist

Menghitung proporsi baris yang nilainya tidak lebih besar dari nilai saat ini terhadap semua baris dalam grup.

Deskripsi parameter

  • Fungsi jendela rank, dense_rank, percent_rank, dan row_number mendukung parameter berikut.

    Parameter

    Deskripsi

    sort

    Kata kunci yang digunakan untuk mengurutkan baris. Parameter ini adalah string kosong secara default.

    ascending

    Menentukan apakah akan mengurutkan baris dalam urutan menaik. Parameter ini diatur ke True secara default.

  • Fungsi jendela lag dan lead mendukung parameter berikut selain parameter yang didukung oleh fungsi rank.

    Parameter

    Deskripsi

    offset

    Jumlah baris antara baris saat ini dan baris tempat Anda ingin mengambil data.

    default

    Nilai yang dikembalikan jika baris pada offset yang ditentukan tidak ada.

  • Fungsi jendela cumsum, cummax, cummin, cummean, cummedian, cumcount, dan cumstd mendukung parameter berikut selain parameter yang didukung oleh fungsi rank.

    Parameter

    Deskripsi

    unique

    Menentukan apakah akan mengaktifkan deduplikasi data. Parameter ini diatur ke False secara default.

    preceding

    Awal dari sebuah jendela.

    following

    Akhir dari sebuah jendela.