次の方法で共有


Column クラス

DataFrame 内の列。

Spark Connect のサポート

構文

インスタンスの作成を参照してください。

メソッド

メソッド 説明
alias(*alias, **kwargs) 新しい名前または名前でエイリアス化されたこの列を返します (式が複数の列を返す場合は、分解など)。
asc() 列の昇順に基づいて並べ替え式を返します。
asc_nulls_first() 列の昇順に基づいて並べ替え式を返し、null 以外の値の前に null 値を返します。
asc_nulls_last() 列の昇順に基づいて並べ替え式を返し、null 以外の値の後に null 値が表示されます。
astype(dataType) cast()のエイリアス。
between(lowerBound, upperBound) 現在の列の値が、指定した下限と上限の間にあるかどうかを確認します。
bitwiseAND(other) 別の式を使用して、この式のビットごとの AND を計算します。
bitwiseOR(other) 別の式を使用して、この式のビットごとの OR を計算します。
bitwiseXOR(other) 別の式を使用して、この式のビットごとの XOR を計算します。
cast(dataType) 列を dataType型にキャストします。
contains(other) 他の要素を格納します。
desc() 列の降順に基づいて並べ替え式を返します。
desc_nulls_first() 列の降順に基づいて並べ替え式を返し、null 以外の値の前に null 値が表示されます。
desc_nulls_last() 列の降順に基づいて並べ替え式を返し、null 以外の値の後に null 値が表示されます。
dropFields(*fieldNames) StructType のフィールドを名前で削除する式。
endswith(other) 文字列の末尾は次の値です。
eqNullSafe(other) null 値に対して安全な等値テスト。
getField(name) StructType 内の名前でフィールドを取得する式。
getItem(key) リストから序数の位置にある項目を取得する式、またはディクテーションからキーで項目を取得する式。
ilike(other) SQL ILIKE 式 (大文字と小文字は区別されません LIKE)。
isNaN() 現在の式が NaN の場合は True。
isNotNull() 現在の式が NOT null の場合は True。
isNull() 現在の式が null の場合は True。
isin(*cols) この式の値が引数の評価値に含まれている場合に true に評価されるブール式。
like(other) SQL like 式。
name(*alias, **kwargs) alias()のエイリアス。
otherwise(value) 一連の条件を評価して、考えられる結果式のうちの 1 つを返します。
over(window) ウィンドウ列を定義します。
rlike(other) SQL RLIKE 式 (正規表現を使用した LIKE)。
startswith(other) 文字列は先頭から始まります。
substr(startPos, length) 列の部分文字列である Column を返します。
try_cast(dataType) これは、同じ操作を実行する特殊なバージョンの cast ですが、呼び出しメソッドが例外をスローした場合にエラーを発生させる代わりに NULL 値を返します。
when(condition, value) 一連の条件を評価して、考えられる結果式のうちの 1 つを返します。
withField(fieldName, col) StructType のフィールドを名前で追加または置換する式。

オペレーター

Column クラスは、算術演算、比較演算、および論理演算用の標準 Python 演算子をサポートしています。

  • 算術:+-*/%**
  • 比較: ==!=<<=>>=
  • 論理: & (AND)、 | (OR)、 ~ (NOT)

例示

列の使用方法を示すより簡単な例については、「 列の操作」を参照してください。

列インスタンスの作成

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'>

式から列を作成します。

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

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

基本的な列操作

# 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()

条件付きロジック

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()

並べ替え

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