我有(至少对我来说)一个复杂的数据帧,我正在尝试重塑,以便我可以更轻松地创建可视化。数据来自调查,每行是一个包含247列的完整调查。这些列按其包含的数据类型进行拆分。有些人正在识别信息,(参与调查的人员,调查的产品,特定问题的分数以及他们对特定产品的评论)。这是数据帧的简化
id Evaluator item Mar1 Mar1[Comments] Comf1 Comf1[Com..
1 001 11 3 "asf adfsfs.." 3 "text.."
2 001 14 2 "asf adfsfs.." 4 "text.."
3 002 11 4 "asf adfsfs.." 2 "text.."
4 002 14 3 "asf adfsfs.." 3 "text.."
5 002 34 0 "asf adfsfs.." 1 "text.."
6 003 11 2 "asf adfsfs.." 0 "text.."
....
它继续从这里开始,但在这种情况下,'Mar1'和'Comf1'被评为问题。我有另一个数据表有助于描述调查中的所有问题和问题类型,因此我可以执行以下数据选择...
df[df['ItemNum']==11][(qtable[(qtable['type'].str.contains("OtoU")==True)]).id]
从qtable中拉出了所有'OtoU''类型'(所有评级问题)的ItemNum 11.这一切都很好,让我这样......
Mar1 Mar2 Comf1 Comf2 Comf3 Interop1 Interop2 .....
1 2 3 1 3 4 4
2 3 3 2 4 2 2
2 1 1 4 4 1 2
1 3 2 2 2 1 1
3 4 1 2 3 3 3
我不能用那种形式做很多事情(至少我认为我不能)。我认为'我需要做的是将其展平为更像
的形式Item Question Score Section Evaluator ...
11 Mar1 3 Maritime 001 ...
11 Comf1 2 Comfort 001 ...
11 Comf2 3 Comfort 001 ...
14 Mar1 1 Maritime 001 ...
但是,如果我知道怎么做,我会被诅咒。我试图通过迭代数据帧来做这个(我非常肯定的错误方式),但我很快意识到它都花了一些时间来做,并且结果数据的完整性有问题。
所以,(非常)长话短说。我如何通过大熊猫的力量进行这种转变?我想做一些情节,包括每个“项目”的问题框图以及按“部分”划分的factorplots和多个图表绘制每个问题的平均值...如果这有助于您更好地了解哪里我想尝试这件事。对不起,我只想确保提供足够的信息以获得可靠的答案。
谢谢,