применить функцию в пандах для создания двух столбцов - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть Pandas DataFrame с именем ebola, как показано ниже. Столбец variable содержит два элемента информации status, будь то Случаи или Смертей и country, которые состоят из названий стран. Я пытаюсь создать два новых столбца status и country из этого столбца variable с помощью функции .apply(). Однако, поскольку я пытаюсь извлечь два значения, оно не работает.

ebola dataframe

# let's create a splitter function
def splitter(column):
    status, country = column.split("_")
    return status, country

# apply this function to that column and assign to two new columns
ebola[['status', 'country']] = ebola['variable'].apply(splitter)

Полученная ошибка

ValueError: Must have equal len keys and value when setting with an iterable

Я хочу, чтобы мой вывод был таким

enter image description here

1 Ответ

1 голос
/ 03 ноября 2019

Использование Series.str.split

ebola[['status','country']]=ebola['variable'].str.split(pat='_',expand=True)
...