Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按月份分组两个轴_Python_Pandas - Fatal编程技术网

Python 按月份分组两个轴

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

我有一个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                                                                
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