python - 如何以特定方式重组熊猫数据框?
问题描述
我有以下df:
Year b c Monthly Flow (2018) First thing Second thing Third thing
1 2018 -0.041619 43.91 -0.041619 2000 1000 6
2 2018 0.011913 43.91 -0.041619 4000 120 8
3 2018 -0.048801 43.91 -0.041619 2000 1000 6
4 2018 0.002857 43.91 -0.041619 2000 1000 6
我想对其进行重组以实现此输出:
Year b c Monthly Flow (2018) Process name Value
1 2018 -0.041619 43.91 -0.041619 First thing 2000
1 2018 0.011913 43.91 -0.041619 Second thing 1000
1 2018 -0.048801 43.91 -0.041619 Third thing 6
2 2018 -0.041619 43.91 -0.041619 First thing 4000
2 2018 0.011913 43.91 -0.041619 Second thing 120
2 2018 -0.048801 43.91 -0.041619 Third thing 8
...
我试过了, pivot
但我无法得到这个输出。
解决方案
您可以使用df.melt
:
df.melt(id_vars=['Year','b','c','Monthly Flow (2018)'], var_name='Process name',value_name='Value')
输出:
Year b c Monthly_Flow_(2018) Process name Value
0 2018 -0.04 43.91 -0.04 First_thing 2000
1 2018 0.01 43.91 -0.04 First_thing 4000
2 2018 -0.05 43.91 -0.04 First_thing 2000
3 2018 0.00 43.91 -0.04 First_thing 2000
4 2018 -0.04 43.91 -0.04 Second_thing 1000
5 2018 0.01 43.91 -0.04 Second_thing 120
6 2018 -0.05 43.91 -0.04 Second_thing 1000
7 2018 0.00 43.91 -0.04 Second_thing 1000
8 2018 -0.04 43.91 -0.04 Third_thing 6
9 2018 0.01 43.91 -0.04 Third_thing 8
10 2018 -0.05 43.91 -0.04 Third_thing 6
11 2018 0.00 43.91 -0.04 Third_thing 6
推荐阅读
- python - 无法使用 geopandas 打开 geojson 文件,出现 TypeError
- c - 从包含整数和字符的文件中读取
- amazon-web-services - AWS SNS > SQS > Lambda 触发器。这是异步调用还是同步调用?
- android - 片段与活动中的 context.getSystemService(Context.CAMERA_SERVICE) 问题
- ruby-on-rails - 为什么 Centos 7 中的乘客 Apache 找不到我的 ruby on rails 应用程序?
- r - 从 R 输出手动计算 AIC
- python - 如何解码从 Python 文件中读取的 unicode 字符串?
- bash - 通过类型修改将一个 csv 标头复制到另一个 csv
- python - 如何使用python的“列表”添加新列并找到元素之间的对应关系?
- python-3.x - PyInstaller .exe 因 console=false 而失败,但与 console=true 一起工作