关于python:如何在Pandas中选择“每月的最后一个工作日”? 您所在的位置:网站首页 python每月最后一个交易日 关于python:如何在Pandas中选择“每月的最后一个工作日”?

关于python:如何在Pandas中选择“每月的最后一个工作日”?

2023-09-21 08:12| 来源: 网络整理| 查看: 265

我试图在一个月的最后一个条件下对DataFrame进行子集化。 我用了:

12df['Month_End'] = df.index.is_month_end sample = df[df['Month_End'] == 1]

这可行,但是我正在使用股市数据,所以我缺少所有实际月末在周末的情况,因此我需要一种方法来选择"月的最后一个工作日"。

您可以通过传入freq='BM'来生成每个月最后一个工作日的时间序列。

例如,要创建一系列2014年最后一个工作日:

123>>> pd.date_range('1/1/2014', periods=12, freq='BM') [2014-01-31 00:00:00, ..., 2014-12-31 00:00:00] Length: 12, Freq: BM, Timezone: None

然后,您可以使用此时间序列对DataFrame进行子集/重新索引。

相关讨论 此解决方案有效。 唯一的问题是,在某些系列中,该月的最后一个工作日可能是自定义假期,因此您需要将其纳入等式中。 我在此问题中使用了可接受的答案:stackoverflow.com/questions/45644857/但有没有更好的方法subsetreindex? hernanavella的评论至关重要。 我们如何处理Python中的这个简单问题? 我们只想要一个简单而又干净的实现这个简单的问题:一个月的最后一个股票交易日。

pd。除了生成序列以外,您还可以从日期时间索引中解析工作月末,如下所示:

1df['BMonthEnd'] = (df.index + pd.offsets.BMonthEnd(1)).day

尽管请注意,这目前会引发无害的警告-请参阅http://pandas.pydata.org/pandas-docs/stable/timeseries.html#using-offsets-with-series-datetimeindex

相关讨论 请注意,此方法并不完美。 如果" d"天是该月的最后一个工作日,则d + BMonthEnd(1)为您提供下个月的最后一个工作日。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有