Skip to content

bit_count()

Описание

Функция bit_count() возвращает количество установленных битов (равных 1) в двоичном представлении числа.

Параметры

  • column: Column - числовой столбец

Возвращаемое значение

Integer - количество установленных битов

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import bit_count

# Создаем SparkSession
spark = SparkSession.builder.appName("bit_count_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (1,),  # 0001
    (2,),  # 0010
    (3,),  # 0011
    (7,),  # 0111
    (15,)  # 1111
]
df = spark.createDataFrame(data, ["number"])

# Подсчитываем количество установленных битов
result = df.select(
    "number",
    bit_count("number").alias("bit_count")
).show()

# Результат:
# +------+---------+
# |number|bit_count|
# +------+---------+
# |     1|        1|
# |     2|        1|
# |     3|        2|
# |     7|        3|
# |    15|        4|
# +------+---------+

Примечания

  • Функция работает только с целыми числами
  • Для отрицательных чисел биты считаются в дополнительном коде
  • Для получения значения бита используйте bit_get() или getbit()
  • Для установки бита используйте bit_set() или setbit()
  • Для побитовых операций используйте bitwiseAND(), bitwiseOR(), bitwiseXOR()