我有一个大型数据集,由过去14年中每小时测量的潮位组成,我正在尝试创建一个新的数据框架,该框架具有每个月的最大潮位值及其相关日期
所以我需要得到每个月的最大潮汐值以及与之相关的日期
我有点接近我想要的,但我可以告诉有一个错误的地方
这是我用来生成输出的语法:
df['Date'] = pd.to_datetime(df['Date'], format = '%Y-%m-%d %H:%M:%S',errors = 'ignore')
ddf = df.groupby(pd.Grouper(key = 'Date',freq = 'M')).max()
起初一切看起来都很好(格式正确),但后来我注意到它只是列出了每个月的最后一天,所以我觉得我在某处犯了一个简单的错误
我是Python新手,这是我在这里的第一篇帖子,所以如果我的帖子的任何部分格式不正确,我会提前道歉
我创建了一些示例数据,以更好地说明我相信您正在尝试做的事情
然后,您可以使用^{} 通过以下方式获得每个月最大值的索引位置
data
:df.groupby(pd.Grouper(key='Date', freq='M'))['data'].idxmax()
然后使用
loc
在这些每月最大值上对数据帧进行子集(如果您愿意,还可以附加.set_index('Date')
作为索引)默认情况下,月频率(M)使用月末。如果你想要月初,你需要月初。(MS)
例如:
有关更多信息,请参见this table
相关问题 更多 >
编程相关推荐