我的数据与以下数据相似。 我正试图将每一栏改为一个日期栏,但由于原封顶有两个月,我正在使用极地的<密码>,cast
功能,以提取任何月或一年。 我知道如何打碎下文所示的具体月份,但在抽取职能之前和之后,每一件尝试(.strptime(pl.Date,“%B/%B %Y)
,.strptime(pl.Datetime,“%B/%B%Y)
等)都没有工作。 如果你们有希望的话!
import polars as pl
df = pl.DataFrame(
{
"name": [
"January/February 1994",
"November/December 1996",
"May/June 1999",
"March/April 2005",
]
}
)
out = df.with_columns(
pl.col("name").str.extract(r"(w+)/").alias("start_month"),
pl.col("name").str.extract(r"/(w+)").alias("end_month"),
pl.col("name").str.extract(r"(d+)").alias("year"),
)
print(out)
shape: (4, 4)
┌────────────────────────┬─────────────┬───────────┬──────┐
│ name ┆ start_month ┆ end_month ┆ year │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ str │
╞════════════════════════╪═════════════╪═══════════╪══════╡
│ January/February 1994 ┆ January ┆ February ┆ 1994 │
│ November/December 1996 ┆ November ┆ December ┆ 1996 │
│ May/June 1999 ┆ May ┆ June ┆ 1999 │
│ March/April 2005 ┆ March ┆ April ┆ 2005 │
└────────────────────────┴─────────────┴───────────┴──────┘