如何在Snowpark中将%Y-%m-%d格式日期转为%Y-%m格式?
在Snowpark中生成%Y-%m格式的月份衍生列
针对你的需求,Snowpark里有两种常用方法可以实现类似Pandas的效果:
方法1:直接格式化日期列
使用to_char函数将原日期列直接格式化为YYYY-MM格式,得到字符串类型的月份列:
from snowflake.snowpark.functions import to_char # 给Snowpark DataFrame添加新列start_month df = df.with_column("start_month", to_char(df["start_date"], "YYYY-MM"))
方法2:先截断日期到月份再格式化
如果需要先将日期统一到当月第一天(贴近Pandas中dt.to_period('M')的语义),可以先用date_trunc截断日期,再用to_char格式化:
from snowflake.snowpark.functions import date_trunc, to_char df = df.with_column( "start_month", to_char(date_trunc("month", df["start_date"]), "YYYY-MM") )
两种方法最终都会生成格式为YYYY-MM的衍生列,可根据实际需求选择。
内容的提问来源于stack exchange,提问作者antobzzll
相关产品推荐
相关产品推荐

