如何使用表中的数据复制列

时间:2019-04-10 10:55:30

标签: python-3.6

我想使用下面的Python Pandas将问题列转换为行

enter image description here

1 个答案:

答案 0 :(得分:0)

import pandas as pd
from openpyxl import load_workbook

df = pd.read_excel (r'file' ,sheet_name='results')




d = {'Score.1':'Score','Score.2':'Score','Duration.1':'Duration','Duration.2':'Duration'}
melted=pd.melt(df, id_vars=['userid','Candidate','Score','Duration'], value_vars=['Question 1'],var_name='myVarname', value_name='myValname')
melted1=pd.melt(df, id_vars=['userid','Candidate','Score.1','Duration.1'], value_vars=['Question 2'],var_name='myVarname', value_name='myValname').rename(columns=d)
melted2=pd.melt(df, id_vars=['userid','Candidate','Score.2','Duration.2'], value_vars=['Question 3 '],var_name='myVarname', value_name='myValname').rename(columns=d)
......
melted2=pd.melt(df, id_vars=['userid','Candidate','Score.25','Duration.25'], value_vars=['Question 25 '],var_name='myVarname', value_name='myValname').rename(columns=d)
meltedfinal=[melted,melted1,melted2]                
result = pd.concat(meltedfinal)

result.to_excel(r'file')  # doctest: +SKIP