pandas - 大熊猫融化指数下降
问题描述
我有以下数据框:
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......
我尝试了这里提出的方法: pandas, melt, unmelt preserve index:
df = pd.melt(df.reset_index(), id_vars='index',value_vars=months)
“月份”是我通过获取月份的列名列表创建的列表:
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
所以,我想保留年份值作为索引。我怎样才能做到这一点?谢谢。
解决方案
如果你有这样一个好的索引,你可以stack
:
df.rename_axis('Month', axis='columns').stack().to_frame('Values')
该rename_axis
方法只是让索引标签变得漂亮的一些糖。
推荐阅读
- angular - Angular 6 中的图像压缩
- mysql - 获取表名、列名、数据类型和字符最大长度 mySQL
- react-native - 如何在反应原生的Flatlist中设置行高
- windows - 不显示消息框 MessageBoxA()
- node.js - javascript函数设置的表单字段值的req.body值未定义
- facebook - Facebook 在验证用户 Rails 后重定向到注册页面
- angular - Angular - 视图绑定到数组未更新
- android - Firebase ML-Kit 多检测器
- angularjs - Angular Summernote 不适用于 webpack?
- kubernetes-helm - 如何在 helm 模板中的属性名称中使用冒号访问属性