pandas - 如何根据具有“周数年 - 年”的列来切片数据帧?

我有一个看起来像这样的数据帧:


>>> my_df.loc[600:614,'Week-Year']

600    39-2018

601    39-2018

602    40-2018

603    40-2018

604    41-2018

605    41-2018

606    42-2018

607    42-2018

608    43-2018

609    43-2018

610    44-2018

611    44-2018

612    45-2018

613    45-2018

614    46-2018

该列基本上是“年周数 - 年”。我现在想将此数据帧从某一周切成某一周。


这是我尝试过的:


>>> end_date = datetime(2013, 4, 30)

>>> my_df.loc[(my_df['Week-Year'] <= end_date.strftime('%M-%Y'))]

但是,这不会返回任何内容。那么,我该怎么做呢?


慕容708150
浏览 84回答 1
1回答

拉莫斯之舞

我认为这里有必要转换为日期时间:Week-Yeard = 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]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python