Заменить столбец Polars одномерным массивомPython

Программы на Python
Anonymous
 Заменить столбец Polars одномерным массивом

Сообщение Anonymous »

Пример df:

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

import polars as pl
import numpy as np
df = pl.DataFrame(
{
"nrs": [1, 2, 3, None, 5],
"names": ["foo", "ham", "spam", "egg", None],
"random": np.random.rand(5),
"A": [True, True, False, False, False],
}
)
Я хочу заменить столбец случайным образом. До сих пор я делал

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

new = np.arange(5)
df.replace('random', pl.Series(new))
обратите внимание, что replace — один из немногих полярных методов, которые работают на месте!
Но теперь я получаю

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

C:\Users\...\AppData\Local\Temp\ipykernel_18244\1406681700.py:2: DeprecationWarning: `replace` is deprecated. DataFrame.replace is deprecated and will be removed in a future version. Please use
df = df.with_columns(new_column.alias(column_name))
instead.
df = df.replace('random', pl.Series(new))
Итак, стоит ли мне это делать

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

df = df.with_columns(pl.Series(new).alias('random'))
Кажется более многословным, кроме того, модификация на месте исчезла. Правильно ли я делаю?

Подробнее здесь: https://stackoverflow.com/questions/783 ... a-1d-array

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