Хотите транслировать массив NumPy, используя `pl.lit()` в PolarsPython

Программы на Python
Anonymous
 Хотите транслировать массив NumPy, используя `pl.lit()` в Polars

Сообщение Anonymous »

Цель
У меня есть массив NumPy

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

true_direction = np.array([1,2,3]).reshape(1,3)
который я хочу вставить в DataFrame Polars;
то есть повторить этот массив в каждой строке DataFrame.
Что я пробовал
Ниже показано, что я пробовал в настоящее время
  • Повторите массив numpy и используйте .with_column():

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

    .with_columns(
    pl.Series(
    np.repeat(true_direction, repeats=912, axis=0)
    ).alias('true_direction')
    )
    
    Проблема в том, что мне нужно каким-то образом заранее получить форму DataFrame,
    что немного раздражает.
  • Другой способ — не начинать с пустого массива

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

    true_direction = [1,2,3]
    
    в этом случае я могу использовать pl.lit() (предложено ChatGpt)

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

     .with_columns(
    pl.lit(true_direction)
    # .cast(pl.Array(pl.Float64, 3))
    .alias('true_direction')
    )
    
    Проблема в том, что мне придется вручную преобразовать столбец list[f64] в

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

    array[f64,3]
    , так как позже мне нужно будет получить скалярное произведение.
Мой вопрос
Есть ли более полярный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -in-polars

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