重塑Pandas数据框以绘制

时间:2016-02-01 16:57:40

标签: python pandas seaborn

我有(至少对我来说)一个复杂的数据帧,我正在尝试重塑,以便我可以更轻松地创建可视化。数据来自调查,每行是一个包含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和多个图表绘制每个问题的平均值...如果这有助于您更好地了解哪里我想尝试这件事。对不起,我只想确保提供足够的信息以获得可靠的答案。

谢谢,

0 个答案:

没有答案