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
.......
......