大Pandas在我出生的第一天重新取样

2024-05-15 19:00:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个输入到熊猫数据框中的雅虎财经每日股价。我想用.resample()把它转换成每月的股票价格,取每个月第一个报价的每日价格。

.resample('MS', how='first')

返回每个月的正确价格但是它会将索引更改为每月的第一天,而通常是一个月的第一天,因为假日和周末,报价可能是该月的第二天或第三天。

如何使用resample()只重新采样现有日期而不更改它们?


Tags: 数据价格howmsfirst报价resample股票价格
1条回答
网友
1楼 · 发布于 2024-05-15 19:00:18

我想你想要的是BMS(营业月开始):

.resample('BMS').first()

注意:在pandas 0.18之前,这是使用不推荐的howkwarg完成的:

.resample('BMS', how='first')

另一种方法是按月分组,并使用简单的ol'groupby获取第一个条目(例如,使用nth获取每个组中的第一个条目):

.groupby(pd.Grouper(freq='M')).nth(0)

注意:在pandas 0.21之前,这是使用不推荐的TimeGrouper完成的:

.groupby(pd.TimeGrouper('M')).nth(0)

相关问题 更多 >