我有一个看起来像这样的数据帧:>>> my_df.loc[600:614,'Week-Year']600 39-2018601 39-2018602 40-2018603 40-2018604 41-2018605 41-2018606 42-2018607 42-2018608 43-2018609 43-2018610 44-2018611 44-2018612 45-2018613 45-2018614 46-2018该列基本上是“年周数 - 年”。我现在想将此数据帧从某一周切成某一周。这是我尝试过的:>>> end_date = datetime(2013, 4, 30)>>> my_df.loc[(my_df['Week-Year'] <= end_date.strftime('%M-%Y'))]但是,这不会返回任何内容。那么,我该怎么做呢?
1 回答

拉莫斯之舞
TA贡献1820条经验 获得超10个赞
我认为这里有必要转换为日期时间:Week-Year
d = pd.to_datetime(my_df['Week-Year'].add('_1'), format='%W-%Y_%w')
#https://stackoverflow.com/a/54033252/2901002
#ISO week numbers (ISO 8601 week definitions)
d = pd.to_datetime(my_df['Week-Year'].add('_1'), format='%V-%G_%u')
然后在布尔索引中进行筛选:
df = my_df[d <= end_date]
添加回答
举报
0/150
提交
取消