Недавно я наткнулся на метод 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
Использование pandas `.assign()` для создания столбца, содержащего строковый скаляр ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Переназначение столбцов pandas в цепочке .assign() дает неверные значения
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как преобразовать строковый литерал .rdata в строковый литерал в стеке во время компиляции
Anonymous » » в форуме C++ - 0 Ответы
- 118 Просмотры
-
Последнее сообщение Anonymous
-