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