有没有一种熊猫方法来处理列中的多个值?



我一直在对熊猫的质量和谷歌表格调查进行一些分析。

一些问题的格式是:


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

  • 很好吃
  • 结冰
  • 鲜艳的色彩
  • 万事

在这两个系统中,它们都会生成如下所示的列:

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

等等。这两个系统都会自动绘制响应的条形图,但它们很难使用。

我过去曾将它们分成额外的列,或者只是动态处理所有内容并为特定图形构建临时数据帧。

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

类似问题的大多数解决方案都需要创建新的数据帧。 示例:熊猫列表列,为每个列表元素创建一行

如果您不想这样做 - 只需解压缩列表即可。需要一个函数来处理不均匀的列表深度:

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]

相关内容

最新更新