python - 大熊猫第 n 天到一个月的最后一天
问题描述
给定盘中数据的 DataFrame:
Open High Low Last Volume No. Trades Close Bid No. Bids Close Ask No. Asks
Timestamp
1996-01-02 09:30:00 NaN NaN NaN NaN NaN NaN 61.375000 1.0 61.406250 1.0
1996-01-02 09:31:00 61.40625 61.40625 61.40625 61.40625 4100.0 1.0 NaN NaN NaN NaN
1996-01-02 09:32:00 61.40625 61.40625 61.40625 61.40625 100.0 1.0 61.375000 2.0 61.406250 2.0
1996-01-02 09:33:00 NaN NaN NaN NaN NaN NaN 61.406250 2.0 61.437500 2.0
1996-01-02 09:35:00 NaN NaN NaN NaN NaN NaN 61.390625 1.0 61.421875 1.0
如何选择距月底 n 天的天数?我想使用 groupby() 但我不确定如何处理日内数据,因为我的索引中不仅仅是每日值。
def select_days(data, n_days, rtn = ''):
### select business days
ts_days = pd.to_datetime(data.index.date)
businessDays = pd.bdate_range(start=data.index[0].date(), end=data.index[-1].date())
data = data[ts_days.isin(businessDays)]
### select T-n days
data[(data.index.days_in_month - data.index.day)==n_days]
return data
解决方案
熊猫技巧:
df['days_to_month_end'] = df.index.days_in_month - df.index.day
df[df.days_to_month_end==n]
或在一行中:
df[(df.index.days_in_month - df.index.day)==n]
推荐阅读
- python - 如何在烧瓶自定义管理模板视图中显示数据
- javascript - 如何处理可能是数组或可能只是单个项目反应组件的值
- kivy - 如何强制用户填写 KivyMD 中的文本字段
- c# - 在 DataPackage.SetData 或 DataPackage.GetDataAsync 之后处理 IRandomAccessStream?
- python - 在 mpmath 中集成函数
- python - 转义引号 - 如何转义加号
- java - Android Studio MyFirstApp (sendMessage) 问题
- node.js - 如何让 nodejs 服务器在启动时忽略 DOM 错误?
- r - 传单的可变尺寸自定义标记 - R
- dialogflow-es - 具有相同训练短语的两个不同意图 - DialogFlow。如何确保两个意图都被使用