Как реплицировать столбец с набором данных в таблице - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу преобразовать столбцы вопросов в строку, используя Python Pandas, как показано ниже

enter image description here

1 Ответ

0 голосов
/ 10 апреля 2019
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
...