为了账号安全,请及时绑定邮箱和手机立即绑定

在 python 中的多个列上循环和融化?

在 python 中的多个列上循环和融化?

慕斯王 2023-05-16 16:43:33
请参阅所附图片以了解我要完成的工作。我在一列上融化没有问题,但是一旦我尝试循环,它就会中断。df = pd.DataFrame({'Group':['A','B','C'],'2002':[1,2,7],'2013':[3,4,8],'2016':[5,6,9]})columns = df.columnsfinal_list = []for Year in range(len(columns)):   list = df.melt(id_vars = ['Group'], value_vars = columns[Year])   final_list.append(list)final_list得到 Data needs to be 1-dimensional 的错误。
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

这是一种方法。不需要循环:


df.melt(id_vars="Group", var_name="year").sort_values("Group")

输出是:


  Group  year  value

0     A  2002      1

3     A  2013      3

6     A  2016      5

1     B  2002      2

4     B  2013      4

7     B  2016      6

2     C  2002      7

5     C  2013      8

8     C  2016      9


查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信