标签: python pandas dataframe resampling
我在大熊猫数据框中导入雅虎财务每日股票价格。我想使用.resample()将每月的第一个QUOTED每日价格的价格转换为月度股票价格。
.resample()
.resample('MS', how='first')
返回每个月的正确价格但它会将指数更改为该月的第一天,而一般情况下,一个月的第一天可能是报价的第二天或第三天,因为假期和周末。
如何仅通过重新采样现有日期而不更改现有日期来使用resample()?
resample()
答案 0 :(得分:6)
我认为您想要的是BMS(营业月开始):
.resample('BMS').first()
注意:在早期的pandas中,这是使用已弃用的how kwarg完成的:
how
.resample('BMS', how='first')
另一种选择是按月份分组,然后使用普通的ol' groupby(例如,使用nth获取每个组中的第一个条目):
.groupby(pd.Grouper(freq='M')).nth(0)
注意:在早期的pandas中,这是使用已弃用的TimeGrouper:
TimeGrouper
.groupby(pd.TimeGrouper('M')).nth(0)