【发布时间】:2016-10-20 00:17:30
【问题描述】:
使用 Pandas 我正在向 DataFrame 添加新列:
df["Year"] = df["concat"].str.extract("(\d\d\d\d$)", expand=False)
df["Month"] = df["concat"].str.extract("(\d\d)\_\d\d\d\d$", expand=False)
df["Measure"] = df["concat"].str.extract("^(.*)\_\d\d\_\d\d\d\d$", expand=False)
这可行,但速度很慢。我正在考虑一步完成所有 3 项操作(希望这会提高性能):
df["Measure", "Year", "Month"] = (df["concat"].str.extract("^(?P<Measure>.*)\_(?P<Month>\d\d)\_(?P<Year>\d\d\d\d)$", expand=True))
但这不起作用(ValueError:错误的项目数通过 3,位置意味着 1)。
如何使其工作或如何有效地提取此信息?
【问题讨论】: