Python 如何使用pd.Grouper按月分组日期?
我搜索了stackoverflow以了解如何按月对DateTime进行分组,由于某些原因,我一直收到此错误,即使在我通过Python 如何使用pd.Grouper按月分组日期?,python,python-3.x,datetime,pandas-groupby,Python,Python 3.x,Datetime,Pandas Groupby,我搜索了stackoverflow以了解如何按月对DateTime进行分组,由于某些原因,我一直收到此错误,即使在我通过pd.to.DateTime传递数据帧之后也是如此 TypeError:仅对DatetimeIndex、TimedeltaIndex或 PeriodIndex,但获取了“Int64Index”的实例 当我拉取df['Date']的数据类型时,它会显示dtype:datetime64[ns]任何想法,我为什么会一直收到这个错误?原因很简单:您没有将groupby键传递给group
pd.to.DateTime
传递数据帧之后也是如此
TypeError:仅对DatetimeIndex、TimedeltaIndex或
PeriodIndex,但获取了“Int64Index”的实例
当我拉取
df['Date']
的数据类型时,它会显示dtype:datetime64[ns]
任何想法,我为什么会一直收到这个错误?原因很简单:您没有将groupby键传递给groupby
您需要的是按照df['Date']
内容的月份值对整个数据帧进行分组
然而,df['Date'].groupby(pd.Grouper(freq='M'))
实际上做的是首先从数据帧的Date
列中提取一个pd.Series
。然后,它尝试对该系列执行groupby;在没有指定键的情况下,它默认尝试按索引分组,索引当然是数字
这将有助于:
df.groupby(pd.Grouper(key='Date',freq='M'))
df['Date'] = pd.to_datetime(df['Date'])
df['Date'].groupby(pd.Grouper(freq='M'))