在熊猫中应用函数以创建两列

时间:2019-11-03 03:29:03

标签: python pandas split apply

我有一个名为ebola的Pandas DataFrame,如下所示。 variable列有两个信息status,分别是 Cases Deaths ,以及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 个答案:

答案 0 :(得分:1)

使用Series.str.split

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