python - 从 Python (pandas) 的日期列中获取周开始日期(星期一)?

标签 python date numpy pandas

我看过很多关于如何使用日期字符串进行操作的帖子,但我正在为数据框列尝试一些操作,但到目前为止还没有成功。 我目前的方法是:从“myday”获取工作日,然后偏移以获得星期一。

df['myday'] is column of dates. 
mydays = pd.DatetimeIndex(df['myday']).weekday
df['week_start'] = pd.DatetimeIndex(df['myday']) - pd.DateOffset(days=mydays)

但是我明白了 类型错误:timedelta days 组件不支持的类型:numpy.ndarray

如何从 df 列中获取周开始日期?

最佳答案

另一种选择:

df['week_start'] = df['myday'].dt.to_period('W').apply(lambda r: r.start_time)

这会将“week_start”设置为“myday”时间之前的第一个星期一。

您可以通过 anchored offsets 选择不同的星期开始例如'W-THU' 在星期四开始一周。 (感谢@Henry Ecker 的建议)

关于python - 从 Python (pandas) 的日期列中获取周开始日期(星期一)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27989120/

相关文章:

python - 强制所有 x 轴值在 Python 的散点图中进行比较

python - 如何将 youtube 视频附加到我的玻璃器皿时间轴中的卡片

javascript - 从 JS 日期对象获取 YYYYMMDD 格式的字符串?

python - 内存高效的稀疏对称矩阵计算

python - np.unravel_index 的直观解释是什么?

python - 如何通过重新启动应用程序来克服ModbusTcpServer中的 "Address already in use"?

sql-server - 绝对简单的 SQL Server 查询不会返回任何内容

ios - NSString 到 NSDate for mm/dd/yyyy hh :mm:ss format

python - 基于索引的numpy reshape

python - 如何用 sympy 简化矩阵中的分数?