我试图从dates
中仅
string datetime column
中提取,但无法获得正确的结果。我不确定,但是日期中的一位数字格式会产生问题吗?数据:
import polars as pl
df = pl.from_repr("""
┌──────┬──────────────────────┐
│ YEAR ┆ FL_DATE │
│ --- ┆ --- │
│ i64 ┆ str │
╞══════╪══════════════════════╡
│ 2023 ┆ 1/1/2023 12:00:00 AM │
│ 2023 ┆ 1/1/2023 12:00:00 AM │
│ 2023 ┆ 1/1/2023 12:00:00 AM │
└──────┴──────────────────────┘
""")
失败的尝试:
#1
df.select(
pl.col('FL_DATE').alias('date_only').str.to_date("%m/%d/%Y")
)
#2
df.select(
pl.col('FL_DATE').alias('date_only').str.to_date("%m/%d/%Y").dt.to_string("%Y-%m")
)
#3
df.select(
pl.col('FL_DATE').alias('date_only').str.to_datetime("%m/%d/%Y",strict=False).cast(pl.Date)
)
#4
df.select(
pl.col('FL_DATE').cast(pl.String).str.to_datetime("%m/%d/%Y",strict=False
).cast(pl.Date).alias('date_only')
)
输出失败:
1. InvalidOperationError: conversion from `str` to `date` failed in column 'date_only'
2. InvalidOperationError: conversion from `str` to `date` failed in column 'date_only'
3. null
4. null
您还可以使用 作为极坐标
v0.17.10
df.select(
pl.col("FL_DATE").str.to_date("%m/%d/%Y %r")
)
shape: (3, 1)
┌────────────┐
│ FL_DATE │
│ --- │
│ date │
╞════════════╡
│ 2023-01-01 │
│ 2023-01-01 │
│ 2023-01-01 │
└────────────┘