我看过很多关于如何使用日期字符串执行此操作的帖子,但我正在为数据框列尝试一些操作,但到目前为止还没有成功。我目前的方法是:从“myday”获取工作日,然后偏移以获得星期一。
df['myday'] is column of dates.
mydays = pd.DatetimeIndex(df['myday']).weekday
df['week_start'] = pd.DatetimeIndex(df['myday']) - pd.DateOffset(days=mydays)
但是我得到 TypeError: timedelta days component: numpy.ndarray 不受支持的类型
如何从 df 列获取周开始日期?
原文由 dev28 发布,翻译遵循 CC BY-SA 4.0 许可协议
它失败了,因为 pd.DateOffset 需要一个整数作为参数(并且您正在为它提供一个数组)。您只能使用 DateOffset 按相同的偏移量更改日期列。
试试这个 :
我还没有实际测试过这段代码(没有样本数据),但这应该适用于你所描述的内容。
但是,您可能想看看 pandas.Resample ,它可能会提供更好的解决方案——具体取决于您要寻找的内容。