如何在SQL中将日期转换为该日期所在周的周一日期?
简便实现方法
下面分两种常用场景给出简洁方案:
Excel 实现
假设原始日期在A列,在空白列(比如B列)输入以下公式,下拉填充即可得到对应周的周一日期:
=A2-WEEKDAY(A2,2)+1
公式说明:WEEKDAY(A2,2)会返回1(周一)到7(周日)的数字,用原日期减去这个数字再加1,就能得到当周的周一日期。之后将B列的计算结果复制,粘贴为数值替换原A列即可。
Python Pandas 实现
如果用代码处理,借助Pandas可以快速完成转换:
import pandas as pd # 读取原始数据(假设是DataFrame格式) df = pd.DataFrame({ 'Date': ['2022-10-03', '2022-10-04', '2022-10-09'], 'Value': ['x', 'y', 'z'] }) # 将Date列转为日期类型 df['Date'] = pd.to_datetime(df['Date']) # 计算对应周的周一:Pandas中周一对应weekday=0,减去对应天数即可 df['Date'] = df['Date'] - pd.to_timedelta(df['Date'].dt.weekday, unit='D') print(df)
运行后就能得到目标格式的表格。
内容的提问来源于stack exchange,提问作者J21
相关产品推荐
相关产品推荐

