Pandas 大熊猫融化指数下降

Pandas 大熊猫融化指数下降,pandas,melt,Pandas,Melt,我有以下数据帧: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Year 2010 9.8 9.8 9.9 9.9 9.6 9.4 9.4 9.5 9.5 9.4 9.8 9.3 2011 9.1 9.0 9.0 9.1 9.0 9.1 9.0 9.0 9.0 8.8 8.6 8.5 2012 8.3 8.3 8.2

我有以下数据帧:

        Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Year                                                
2010    9.8 9.8 9.9 9.9 9.6 9.4 9.4 9.5 9.5 9.4 9.8 9.3
2011    9.1 9.0 9.0 9.1 9.0 9.1 9.0 9.0 9.0 8.8 8.6 8.5
2012    8.3 8.3 8.2 8.2 8.2 8.2 8.2 8.1 7.8 7.8 7.7 7.9
我希望取得以下成果:

      Month Values
Year
2010  Jan    9.8
2010  Feb    9.8
2010  Mar    9.9
etc......
我尝试了这里提出的方法: :

“月”是我通过获取月份的列名列表而创建的列表:

months = df.columns.values.tolist()[1:]
然而,结果是:

       index variable  value
   0    NaN   Jan      9.8
   1    NaN   Jan      9.1
   2    NaN   Jan      8.3
   3    NaN   Jan      8.0
   4    NaN   Jan      6.6
所以,我想保留年份值作为索引。我该怎么做?
谢谢。

融为一体

df.reset_index().melt('Year',var_name='Month',value_name='Values').set_index('Year')

    Month  Values
Year              
2010   Jan     9.8
2011   Jan     9.1
2012   Jan     8.3
2010   Feb     9.8
2011   Feb     9.0
.........
.......
使用
stack()


如果你有这样一个好的索引,你可以
堆叠

df.rename_axis('Month',axis=1).stack().reset_index(1,name='Values')

      Month  Values
Year              
2010   Jan     9.8
2010   Feb     9.8
2010   Mar     9.9
2010   Apr     9.9
2010   May     9.6
2010   Jun     9.4
.......
......
df.将_轴('Month',axis='columns').stack()重命名为_框架('Values')

rename\u axis
方法只是为了得到好的索引标签而添加了一些糖。

在pandas版本>=1.1中,您可以使用
ignore\u index
参数:
df.melt(ignore\u index=False)
df.rename_axis('Month',axis=1).stack().reset_index(1,name='Values')

      Month  Values
Year              
2010   Jan     9.8
2010   Feb     9.8
2010   Mar     9.9
2010   Apr     9.9
2010   May     9.6
2010   Jun     9.4
.......
......