【发布时间】:2019-10-22 13:24:58
【问题描述】:
我有一个与here 类似的问题。我想部分转置熊猫数据框。我得到了一个类似于以下内容的数据框:
data = [{"Student" : "john", "Subject" : 'Math', 'Plan_Actual_Delta' : 'Plan' , "2009" : 100, "2010" : 100},
{"Student" : "john", "Subject" : 'Math', 'Plan_Actual_Delta' : 'Actual' ,"2009" : 80, "2010" : 100},
{"Student" : "john", "Subject" : 'Math' , 'Plan_Actual_Delta' : 'Delta' ,"2009" : -20, "2010" : 0},
{"Student" : "lisa", "Subject" : 'Math', 'Plan_Actual_Delta' : 'Plan' ,"2009" : 80, "2010" : 100},
{"Student" : "lisa", "Subject" : 'Math', 'Plan_Actual_Delta' : 'Actual' ,"2009" : 75, "2010" : 100},
{"Student" : "lisa", "Subject" : 'Math', 'Plan_Actual_Delta' : 'Delta' ,"2009" : -5, "2010" : 0}]
df = pd.DataFrame(data)
它显示了学生以及他们在给定年份的给定科目的计划和实际表现(以及增量)。在此示例中,年份是列。行中是否显示计划的、实际的或学生表现的增量在行中给出。
我想将它转换为计划、实际和增量成为列的方式。 因此,我的目标是以下结构:
data = [{"Student" : "john", "Subject" : 'Math', 'Year': '2009', 'Plan':100, 'Actual':80, 'Delta': -20},
{"Student" : "john", "Subject" : 'Math', 'Year': '2010', 'Plan':100, 'Actual':100, 'Delta': 0},
{"Student" : "lisa", "Subject" : 'Math', 'Year': '2009', 'Plan':80, 'Actual':75, 'Delta': -5},
{"Student" : "lisa", "Subject" : 'Math', 'Year': '2010', 'Plan':100, 'Actual':100, 'Delta': 0}]
df = pd.DataFrame(data)
你会怎么做?提前致谢/R
【问题讨论】:
-
您正在寻找数据透视表
标签: python pandas dataframe transpose