Python 按月份分组两个轴
我有一个createdat时间戳的数据。以及不同日期的可用性数据。我使用以下方法对createdat数据进行分组:Python 按月份分组两个轴,python,pandas,Python,Pandas,我有一个createdat时间戳的数据。以及不同日期的可用性数据。我使用以下方法对createdat数据进行分组: monthly_availability = summed_availability.groupby(pd.TimeGrouper(freq='M')).sum() 2015-08-18 2015-08-19 2015-09-09 2015-09-10 2015-09-11 \ createdat
monthly_availability = summed_availability.groupby(pd.TimeGrouper(freq='M')).sum()
2015-08-18 2015-08-19 2015-09-09 2015-09-10 2015-09-11 \
createdat
2015-08-31 1.0 1.0 4.0 6.0 7.0
2015-09-30 NaN NaN 2.0 2.0 2.0
2015-10-31 NaN NaN NaN NaN NaN
2015-11-30 NaN NaN NaN NaN NaN
2015-12-31 NaN NaN NaN NaN NaN
现在我想对行执行相同的操作
当我尝试使用以下代码对轴1分组时:
monthly_availability.groupby(pd.TimeGrouper(freq='M', axis=1), axis=1)
我得到以下错误:
TypeError Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'
Dateframe.info提供
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 19 entries, 2015-08-31 to 2017-02-28
Freq: M
Columns: 767 entries, 2015-08-18 00:00:00 to 2017-09-12 00:00:00
dtypes: float64(767)
memory usage: 114.0 KB
所有列标签都是日期类型。似乎需要先将列名称转换为日期时间: 也可用于:
monthly_availability.columns = pd.to_datetime(monthly_availability.columns)
df = monthly_availability.groupby(pd.TimeGrouper(freq='M'), axis=1).sum()
print (df)
createdat 2015-08-31 2015-09-30 2015-10-31 2015-11-30 2015-12-31
createdat
2015-08-31 1.0 1.0 4.0 6.0 7.0
2015-09-30 NaN NaN 2.0 2.0 2.0
2015-10-31 NaN NaN NaN NaN NaN
2015-11-30 NaN NaN NaN NaN NaN
2015-12-31 NaN NaN NaN NaN NaN
df = monthly_availability.groupby(pd.Grouper(freq='M'), axis=1).sum()
print (df)
createdat 2015-08-31 2015-09-30 2015-10-31 2015-11-30 2015-12-31
createdat
2015-08-31 1.0 1.0 4.0 6.0 7.0
2015-09-30 NaN NaN 2.0 2.0 2.0
2015-10-31 NaN NaN NaN NaN NaN
2015-11-30 NaN NaN NaN NaN NaN
2015-12-31 NaN NaN NaN NaN NaN