是否有一种泛化的方法来处理列中的多个值?

2024-09-24 00:22:49 发布

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

我一直在对熊猫的qualtrics和谷歌表单调查做一些分析

有些问题的格式如下:


你喜欢蛋糕的什么?(根据需要选择任意数量)

  • 味道好极了
  • 结冰
  • 鲜艳的颜色
  • 一切

在这两种系统中,它们都会生成一个列,看起来像:

| cake 🍰 | ramen 🍜 |
|  1, 3, 4| love     |
|  1      | hate     |
|  3, 4   | love     |

等等。这两个系统都有自动的反应条形图,但它们很难使用

我以前做过这样的工作,将它们拆分成额外的列,或者只是动态地处理所有内容,并为特定的图形构建一个临时数据框

有没有更优雅的方法来处理这样的列?特别是这样,我可以做蛋糕感觉的堆叠条形图,根据他们对拉面的感觉进行分解(例如)


Tags: 表单数量颜色系统格式条形图cake蛋糕
1条回答
网友
1楼 · 发布于 2024-09-24 00:22:49

大多数类似问题的解决方案都需要创建新的数据帧。示例:Pandas column of lists, create a row for each list element

如果你不想这样做,只需打开列表。需要一个函数来处理不均匀的列表深度:

tolist  = lambda a: a if type(a)==list else [a] 
[a for b in df['cake'].values for a in tolist(b)]

[1, 3, 4, 2, 3, 4]

相关问题 更多 >