我有一个csv文件,该文件遵循以下模式:
q1 score
q2 score
...
q32 score
q1 score
q2 score
等等。 csv文件代表针对不同教师进行的调查的结果
我想让这32个问题成为我的功能,为我的行打分。但是,由于每种产品都会重复32个问题,因此移调对我不起作用
我尝试按照其他问题中的建议使用pd.pivot。据我所知
courseFeedback = pd.melt(courseFeedback, id_vars = [0], var_name = [1])
courseFeedback = courseFeedback.pivot(index = [0], columns =[1])
courseFeedback.head()
执行该代码会导致异常:
ValueError: Length mismatch: Expected 138632 rows, received array of length 1
我的预期结果是这样的数据框:
q1 q2 q3 ... q32
score score score ... score
score score score ... score
注意: -我是初学者。 -请原谅我的英语。我不是母语人士
修改
使用pd.melt()我得到以下结果
0 variable value
0 q1 1 1
1 q2 1 1
2 q3 1 1
分数是浮点数
答案 0 :(得分:0)
尝试使用:
print(df.groupby('q1').apply(lambda x: x.values[:, 1]).to_frame().T)
答案 1 :(得分:0)
final=df.assign(k=df.groupby(0).cumcount()).set_index([0,'k']).unstack(0)
final.columns=final.columns.get_level_values(1)
0 q1 q2 q32
k
0 score score score
1 score score NaN