前两天有人提了下面这样一个问题,其中一个是“一行拆多行”(将单行一列中的多个值分成多行单值),另外一个是“多行并一行”(将多行单值合并为单行一列中的多个值)。这是在对Excel数据表格进行数据处理时经常可能遇到的一个场景,如果是用 Python 做数据处理应该怎样解决呢?今天我们就来演示一下。2020最新python学习资源分享:1156465813
一行拆多行
上面这个问题我会提供两个思路,供大家选择,当然肯定是越简单得越好。每种方法中都有一些好用的技巧,希望大家能够好好学习。
1)方法一
下方代码中有很多重要的知识点,需要我们下去好好学习一下,我只提供解题思路,关于每个知识点怎么用,希望大家下去自行研究学习。Pandas.melt()函数的用法;
Series.str.split("/",expand=True)中,expand=True参数的用法;
Series.sort_values()对文本进行排序;
Python中enumerate()函数的用法;
结果如下:
2)方法二
上述方法确实复杂,由于我的Pandas版本是0.23.4,因此无法使用explode()方法,进行炸裂操作。在pandas0.25版本的时候,DataFrame中才新增了一个explode()方法,专门用来将一行变多行。Pandas.explode()函数的用法;
结果如下:
多行并一行
这里没有使用什么特别的知识,好好的理解Pandas中分组聚合应用某个函数,即可轻松解决这个问题。
结果如下:
在这里还是要推荐下我自己建的Python开发学习群:1156465813,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴!