我有点卡住了,我有一个可以使用的工作函数.apply(),但是,我似乎无法让它与 一起使用.assign()。我希望它能够与分配一起使用,这样我就可以将多个转换链接在一起。
有人能指出我解决问题的正确方向吗?
这有效
data = {'heading': ['some men', 'some men', 'some women']}
dataframe = pd.DataFrame(data=data)
def add_gender(x):
if re.search("(womens?)", x.heading, re.IGNORECASE):
return 'women'
elif re.search("(mens?)", x.heading, re.IGNORECASE):
return 'men'
else:
return 'unisex'
dataframe['g'] = dataframe.apply(lambda ref: add_gender(ref), axis=1)
Run Code Online (Sandbox Code Playgroud)
这不起作用
dataframe = dataframe.assign(gender = lambda ref: add_gender(ref))
Run Code Online (Sandbox Code Playgroud)
类型错误:预期的字符串或类似字节的对象
这是因为.assign()没有提供轴参数吗?那么也许该函数没有在寻找正确的东西?
阅读文档后,.assign您可以生成一个新列,因此我假设输出与.apply(axis=1)