在python中将某些列转换为行

2024-05-15 00:14:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个以下格式的数据框,希望在python中将一些列转换为行。我有多个列,如(HY-3,HY-4)。无法使用转置/枢轴来理解

Year  HY-1   HY-2  Total
2019  300    200     500
2018  250    220     470
2017  280    220     500

我想转换一下

Year Cycle values
2019  HY-1   300
2018  HY-1   250
2017  HY-1   280
2019  HY-2   200
2018  HY-2   220
2017  HY-2   220

Tags: 数据格式year中将totalvalues枢轴cycle
2条回答
df.melt(id_vars = 'Year', var_name='Cycle', value_name='values')

使用以下代码

import pandas as pd
df = pd.DataFrame({"Year":[2019, 2018, 2017],
                   "HY-1":[300, 250, 280],
                   "HY-2":[200, 220, 220]})

df = df.melt(id_vars = 'Year')
df.rename({'variable':'Cycle', 'value':'values'}, axis = 1, inplace = True)

相关问题 更多 >

    热门问题