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

请参阅所附图片以了解我要完成的工作。我在一列上融化没有问题,但是一旦我尝试循环,它就会中断。


df = pd.DataFrame({'Group':['A','B','C'],'2002':[1,2,7],'2013':[3,4,8],'2016':[5,6,9]})


columns = df.columns

final_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 的错误。

http://img4.mukewang.com/6463424400013f1005580182.jpg

慕斯王
浏览 88回答 1
1回答

侃侃尔雅

这是一种方法。不需要循环:df.melt(id_vars="Group", var_name="year").sort_values("Group")输出是:  Group  year  value0     A  2002      13     A  2013      36     A  2016      51     B  2002      24     B  2013      47     B  2016      62     C  2002      75     C  2013      88     C  2016      9
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python