我需要从pandas df中的列中提取值,并将这些值保存在单独的列中。我需要抓住遵循特定模式的字符串。我的数据如下所示:
name
ADV | FashionWeek.ab
ADV | FashionWeek
ADV | ESPN.arb
ADV | ESPN.ob
ADV | ESPN
所需的输出是:
name clean_name
ADV | FashionWeek.ab FashionWeek
ADV | FashionWeek FashionWeek
ADV | ESPN.arb ESPN
ADV | ESPN.ob ESPN
ADV | ESPN ESPN
因此,我必须掌握尝试之后ADV |
和之后的所有内容.
:
new_df["clean_name"] = df["name"].split('|')[1].lstrip().split('.')[0]
错误: AttributeError: 'DataFrame' object has no attribute 'split'
您拥有正确的字符串逻辑,只是将split函数应用于dataframe对象,而不是应用于列内的项目。为此,您可以使用以下.apply
功能:
df["clean_name"] = df["name"].apply(lambda x: x.split('|')[1].lstrip().split('.')[0])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句