Поведение Polars .list.concat для столбца dtype List[str]Python

Программы на Python
Ответить
Anonymous
 Поведение Polars .list.concat для столбца dtype List[str]

Сообщение Anonymous »

Я пытаюсь объединить фиксированный список строк со столбцом фрейма данных Polars типа данных List[str], но поведение отличается от List[i64].
Вот пример.

Код: Выделить всё

import polars as pl

pl.Config(fmt_table_cell_list_len=10, fmt_str_lengths=100)

df = pl.DataFrame({"libs": [["aa", "bb", "cc",], ["dd", "ee", "ff"]]})

Код: Выделить всё

# Output:

shape: (2, 1)
┌────────────────────┐
│ libs               │
│ ---                │
│ list[str]          │
╞════════════════════╡
│ ["aa", "bb", "cc"] │
│ ["dd", "ee", "ff"] │
└────────────────────┘
Следующий код работает:

Код: Выделить всё

df.with_columns(pl.col("libs").list.concat([pl.lit("gg"), pl.lit("hh")]))

# Output

shape: (2, 1)
┌────────────────────────────────┐
│ libs                           │
│ ---                            │
│ list[str]                      │
╞════════════════════════════════╡
│ ["aa", "bb", "cc", "gg", "hh"] │
│ ["dd", "ee", "ff", "gg", "hh"] │
└────────────────────────────────┘
Но следующий код выдает ошибку (то же самое будет работать и для числового списка):

Код: Выделить всё

df.with_columns(pl.col("libs").list.concat(["gg", "hh"]))

# ---------------------------------------------------------------------------
# ColumnNotFoundError                       Traceback (most recent call last)
# Cell In[12], line 1
# ----> 1 df.with_columns(pl.col("libs").list.concat(["dd", "ee"]))
#
# ColumnNotFoundError: unable to find column "dd"; valid columns: ["libs"]
Может быть, когда я передаю список строк методу concat, ожидается, что это будут имена столбцов. Это ожидаемое поведение или ошибка?

Подробнее здесь: https://stackoverflow.com/questions/765 ... pe-liststr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»