重塑数据帧以进行打印

2024-05-26 04:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个(至少对我来说)复杂的数据帧,我正试图重塑它,以便更容易地创建可视化效果。数据来自一个调查,每一行都是一个完整的调查,共有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中提取ItemNum 11的所有“类型”的“OtoU”(所有评分问题)。这一切都很好,给我带来了这样的东西。。。你知道吗

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     ...

但是,如果我知道怎么做我会被诅咒的。我尝试通过迭代数据帧来完成这项工作(我敢肯定是错误的方法),但我很快意识到,这两项工作都需要花费一些时间,结果数据的完整性值得怀疑。你知道吗

所以,长话短说。我该如何通过熊猫的力量来进行这种转变呢?我想做一些绘图,包括按问题为每个'项目'的方框图,以及按'部分'和多折线图打破了每一个问题的平均值绘图项目。。。如果这有助于你更好地理解我的意图。抱歉发了这么长的帖子,我只是想确保我提供了足够的信息来得到一个可靠的答案。你知道吗

谢谢你


Tags: 数据text信息id类型dfevaluator产品