我在 Pandas 数据框中导入了雅虎财经每日股票价格。我想用.resample()
取每月第一个 QUOTED 每日价格的价格,将其转换为每月股票价格。
.resample('MS', how='first')
返回每个月的正确价格 但是 它将指数更改为当月的第一天,而由于节假日和周末,通常在一个月的第一天报价可能是当月的第 2 天或第 3 天。
我如何使用
resample()
只对现有日期重新采样而不更改它们?
最佳答案
我想你想要的是BMS (营业月开始):
.resample('BMS').first()
注意:在 pandas 0.18 之前,这是使用已弃用的
how
完成的夸格:.resample('BMS', how='first')
另一种选择是 groupby 月份并使用普通的 ol' groupby 获取第一个(例如,使用 nth 获取每个组中的第一个条目):
.groupby(pd.Grouper(freq='M')).nth(0)
注意:在 pandas 0.21 之前,这是使用已弃用的
TimeGrouper
完成的:.groupby(pd.TimeGrouper('M')).nth(0)
关于python - Pandas 在我的数据中按第一天重新采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871564/