Spec-Zone.ru › Polars

Побитовые операции

Функция

Описание

BIT_AND

Возвращает побитовое И для заданных значений.

BIT_COUNT

Возвращает количество битов, равных 1, в двоичном представлении заданного значения.

BIT_NOT

Возвращает побитовое НЕ заданного значения.

BIT_OR

Возвращает побитовое ИЛИ для заданных значений.

BIT_XOR

Возвращает побитовое исключающее ИЛИ для заданных значений.

BIT_AND

Возвращает побитовое И для заданных значений. Также доступен как бинарный оператор &.

df = pl.DataFrame(
  {
      "i": [3, 10, 4, 8],
      "j": [4, 7, 9, 10],
  }
)
df.sql("""
  SELECT
    i,
    j,
    i & j AS i_bitand_op_j,
    BIT_AND(i, j) AS i_bitand_j
  FROM self
""")
# shape: (4, 4)
# ┌─────┬─────┬───────────────┬────────────┐
# │ i   ┆ j   ┆ i_bitand_op_j ┆ i_bitand_j │
# │ --- ┆ --- ┆ ---           ┆ ---        │
# │ i64 ┆ i64 ┆ i64           ┆ i64        │
# ╞═════╪═════╪═══════════════╪════════════╡
# │ 3   ┆ 4   ┆ 0             ┆ 0          │
# │ 10  ┆ 7   ┆ 2             ┆ 2          │
# │ 4   ┆ 9   ┆ 0             ┆ 0          │
# │ 8   ┆ 10  ┆ 8             ┆ 8          │
# └─────┴─────┴───────────────┴────────────┘

BIT_COUNT

Возвращает количество битов, равных 1, в двоичном представлении заданного значения.

df = pl.DataFrame({"i": [16, 10, 55, 127]})
df.sql("""
  SELECT
    i,
    BIT_COUNT(i) AS i_bitcount
  FROM self
""")
# shape: (4, 2)
# ┌─────┬────────────┐
# │ i   ┆ i_bitcount │
# │ --- ┆ ---        │
# │ i64 ┆ u32        │
# ╞═════╪════════════╡
# │ 16  ┆ 1          │
# │ 10  ┆ 2          │
# │ 55  ┆ 5          │
# │ 127 ┆ 7          │
# └─────┴────────────┘

BIT_NOT

Возвращает побитовое НЕ заданного значения.

df = pl.DataFrame({"i": [3, 10, -4, 256]})
df.sql("""
  SELECT
    i,
    BIT_NOT(i) AS bitnot_i
  FROM self
""")
# shape: (4, 2)
# ┌─────┬──────────┐
# │ i   ┆ bitnot_i │
# │ --- ┆ ---      │
# │ i64 ┆ i64      │
# ╞═════╪══════════╡
# │ 3   ┆ -4       │
# │ 10  ┆ -11      │
# │ -4  ┆ 3        │
# │ 256 ┆ -257     │
# └─────┴──────────┘

BIT_OR

Возвращает побитовое ИЛИ для заданных значений. Также доступен как бинарный оператор |.

df = pl.DataFrame(
  {
      "i": [3, 10, 4, 8],
      "j": [4, 7, 9, 10],
  }
)
df.sql("""
  SELECT
    i,
    j,
    i | j AS i_bitor_op_j,
    BIT_OR(i, j) AS i_bitor_j
  FROM self
""")
# shape: (4, 4)
# ┌─────┬─────┬──────────────┬───────────┐
# │ i   ┆ j   ┆ i_bitor_op_j ┆ i_bitor_j │
# │ --- ┆ --- ┆ ---          ┆ ---       │
# │ i64 ┆ i64 ┆ i64          ┆ i64       │
# ╞═════╪═════╪══════════════╪═══════════╡
# │ 3   ┆ 4   ┆ 7            ┆ 7         │
# │ 10  ┆ 7   ┆ 15           ┆ 15        │
# │ 4   ┆ 9   ┆ 13           ┆ 13        │
# │ 8   ┆ 10  ┆ 10           ┆ 10        │
# └─────┴─────┴──────────────┴───────────┘

BIT_XOR

Возвращает побитовое исключающее ИЛИ для заданных значений. Также доступен как бинарный оператор XOR.

df = pl.DataFrame(
  {
      "i": [3, 10, 4, 8],
      "j": [4, 7, 9, 10],
  }
)
df.sql("""
  SELECT
    i,
    j,
    i XOR j AS i_bitxor_op_j,
    BIT_XOR(i, j) AS i_bitxor_j
  FROM self
""")
# shape: (4, 4)
# ┌─────┬─────┬───────────────┬────────────┐
# │ i   ┆ j   ┆ i_bitxor_op_j ┆ i_bitxor_j │
# │ --- ┆ --- ┆ ---           ┆ ---        │
# │ i64 ┆ i64 ┆ i64           ┆ i64        │
# ╞═════╪═════╪═══════════════╪════════════╡
# │ 3   ┆ 4   ┆ 7             ┆ 7          │
# │ 10  ┆ 7   ┆ 13            ┆ 13         │
# │ 4   ┆ 9   ┆ 13            ┆ 13         │
# │ 8   ┆ 10  ┆ 2             ┆ 2          │
# └─────┴─────┴───────────────┴────────────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/sql/functions/bitwise.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API