【pandas-11】explode之一行变多行统计,复杂列到多行,一列变多列

一、explode实现一行变多行统计

解决实际问题:一个字段包含多个值,怎样将这个值拆分成多行,然后实现统计

比如:一个电影有多个分类、一个人有多个喜好,需要按分类、喜好做统计

1、读取数据

问题:怎样实现这样的统计,每个题材有多少部电影?

解决思路:

  • 将Genres按照分隔符|拆分
  • 按Genres拆分成多行
  • 统计每个Genres下的电影数目

2、将Genres字段拆分成列表

3、使用explode将一行拆分成多行

语法:pandas.DataFrame.explode(column)

将dataframe的一个list-like的元素按行复制,index索引随之复制

4、实现拆分后的题材的统计

二、处理Excel - 复杂多列到多行转换

用户需求图片

分析:

  • 一行变多行,可以用explode实现;
  • 要使用explode,需要先将多列变成一列;
  • 注意有的列为空,需要做空值过滤;

数据:

1、把多列合并到一列

2、使用explode把一列变多行

3、将一列还原成结果的多列

4、输出到结果Excel

三、一列变多列

数据

拆分

原文地址:https://www.cnblogs.com/yifanrensheng/p/14659817.html