Использование pandas `.assign()` для создания столбца, содержащего строковый скалярPython

Программы на Python
Anonymous
Использование pandas `.assign()` для создания столбца, содержащего строковый скаляр

Сообщение Anonymous »

Недавно я наткнулся на метод dataframe .assign(), и мне понравилось, как с его помощью можно четко выразить создание новых столбцов. Очень интуитивно понятно создавать столбцы, которые являются функциями других столбцов и объектов, однако присвоение строкового скаляра возвращает NaN для всего столбца. Это имеет смысл, если посмотреть в документации, что метод принимает аргументы ключевого слова с вызываемым объектом или серией в качестве значений, но даже при использовании лямбда-выражения для переноса строки в функцию он возвращает столбец значений NaN.

str_scalar = "Hello"

df = df.assign(str_scalar_col = str_scalar)

# column str_scalar_col is all NaN

df = df.assign(str_scalar_col = lambda x: str_scalar)

# column str_scalar_col is still all NaN

Может быть, это связано с типом столбца, созданного по умолчанию?
Обычно я бы просто назначил столбец на месте, но любопытно, если . Assign() может назначить строковый скалярный столбец.

df['str_scalar'] = "Hello"

# column str_scalar is all "Hello"


Подробнее здесь: https://stackoverflow.com/questions/790 ... ing-scalar

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