Kelas kolom

Kolom dalam DataFrame.

Mendukung Spark Connect

Sintaksis

Lihat Membuat instans Kolom.

Metode

Metode Deskripsi
alias(*alias, **kwargs) Mengembalikan kolom ini alias dengan nama atau nama baru (dalam kasus ekspresi yang mengembalikan lebih dari satu kolom, seperti meledak).
asc() Mengembalikan ekspresi pengurutan berdasarkan urutan naik kolom.
asc_nulls_first() Mengembalikan ekspresi pengurutan berdasarkan urutan naik kolom, dan nilai null dikembalikan sebelum nilai non-null.
asc_nulls_last() Mengembalikan ekspresi pengurutan berdasarkan urutan naik kolom, dan nilai null muncul setelah nilai non-null.
astype(dataType) Alias untuk cast().
between(lowerBound, upperBound) Periksa apakah nilai kolom saat ini berada di antara batas bawah dan atas yang ditentukan, inklusif.
bitwiseAND(other) Komputasi bitwise DAN ekspresi ini dengan ekspresi lain.
bitwiseOR(other) Komputasi bitwise ATAU ekspresi ini dengan ekspresi lain.
bitwiseXOR(other) Komputasi bitwise XOR ekspresi ini dengan ekspresi lain.
cast(dataType) Mentransmisikan kolom ke dalam jenis dataType.
contains(other) Berisi elemen lainnya.
desc() Mengembalikan ekspresi pengurutan berdasarkan urutan menurun kolom.
desc_nulls_first() Mengembalikan ekspresi pengurutan berdasarkan urutan menurun kolom, dan nilai null muncul sebelum nilai non-null.
desc_nulls_last() Mengembalikan ekspresi pengurutan berdasarkan urutan menurun kolom, dan nilai null muncul setelah nilai non-null.
dropFields(*fieldNames) Ekspresi yang menghilangkan bidang di StructType menurut nama.
endswith(other) String diakhir dengan.
eqNullSafe(other) Uji kesetaraan yang aman untuk nilai null.
getField(name) Ekspresi yang mendapatkan bidang berdasarkan nama dalam StructType.
getItem(key) Ekspresi yang mendapatkan item pada posisi ordinal keluar dari daftar, atau mendapatkan item berdasarkan kunci dari dict.
ilike(other) Ekspresi SQL ILIKE (LIKE tidak peka huruf besar/kecil).
isNaN() True jika ekspresi saat ini adalah NaN.
isNotNull() Benar jika ekspresi saat ini TIDAK null.
isNull() True jika ekspresi saat ini null.
isin(*cols) Ekspresi boolean yang dievaluasi ke true jika nilai ekspresi ini dimuat oleh nilai argumen yang dievaluasi.
like(other) Ekspresi seperti SQL.
name(*alias, **kwargs) Alias untuk alias().
otherwise(value) Mengevaluasi daftar kondisi dan mengembalikan salah satu dari beberapa kemungkinan ekspresi hasil.
over(window) Tentukan kolom windowing.
rlike(other) Ekspresi RLIKE SQL (LIKE dengan Regex).
startswith(other) String dimulai dengan.
substr(startPos, length) Mengembalikan Kolom yang merupakan substring kolom.
try_cast(dataType) Ini adalah versi cast khusus yang melakukan operasi yang sama, tetapi mengembalikan nilai NULL alih-alih meningkatkan kesalahan jika metode pemanggilan melemparkan pengecualian.
when(condition, value) Mengevaluasi daftar kondisi dan mengembalikan salah satu dari beberapa kemungkinan ekspresi hasil.
withField(fieldName, col) Ekspresi yang menambahkan/mengganti bidang di StructType berdasarkan nama.

Para Operator

Kelas Kolom mendukung operator Python standar untuk operasi aritmatika, perbandingan, dan logis:

  • Aritmatika: +, , -, */, , %**
  • Perbandingan: ==, , !=, <<=, , >>=
  • Logika: & (AND), | (OR), ~ (NOT)

Examples

Untuk contoh lebih sederhana yang menunjukkan penggunaan kolom, lihat Operasi kolom.

Membuat instans Kolom

Pilih kolom dari DataFrame:

df = spark.createDataFrame(
    [(2, "Alice"), (5, "Bob")], ["age", "name"])

# Access by attribute
df.name
# Column<'name'>

# Access by bracket notation
df["name"]
# Column<'name'>

Buat kolom dari ekspresi:

df.age + 1
# Column<...>

1 / df.age
# Column<...>

Operasi kolom dasar

# Arithmetic operations
df.select(df.age + 10).show()

# Comparison operations
df.filter(df.age > 3).show()

# String operations
df.filter(df.name.startswith("A")).show()

# Null checking
df.filter(df.name.isNotNull()).show()

Logika bersyarah

from pyspark.sql import functions as F

df.select(
    F.when(df.age < 3, "child")
     .when(df.age < 13, "kid")
     .otherwise("adult")
     .alias("age_group")
).show()

Pengurutan

df.orderBy(df.age.desc()).show()
df.orderBy(df.age.asc_nulls_last()).show()