大家好,我是Python进阶者。 前言前几天在才哥交流群里边遇到一个叫【上海-数据分析-小粒】的粉丝提了一个小问题,如下: 数据如下: 咋一看,这个题目倒是也确实不太难,群里提供思路的人也很多,一起来看看吧! 思路和实现方法针对这个问题,群里的小伙伴纷纷献策,这里盘点4个思路和实现方法。 方法一下面是【北京-数分-阿汤】大佬给的思路,使用列表切两次,分别以一次逗号,一次括号,要做判断,如果没逗号就切括号;还有就是写正则。 方法二下面是【深圳-运营-梧桐】大佬给的思路,使用excel分列,先根据逗号分列,然后分别将括号 方法三下面是【武汉-优化算法-derek】大佬给的思路和代码实现,本质上也是切片处理。 不过产品经理发话了,有的数据没逗号,需要加条规则,把右括号先替换为逗号,然后就有了下面的结果: 方法四下面是【常州-销售-MT】大佬给的思路和【北京-金融-Bran】大佬给的代码实现,使用lambda x:eval(x)转列表,用apply效率应该能提高一些,代码如下:
但是需要注意:原来字符串不能直接搞成list,否则就都拆散了。 总结这篇文章基于粉丝提问,盘点了4种方法针对模板字符串进行分割和提取,总的来说,用apply会快很多,因为apply跟lambda可以简化很多操作,而且lambda里面也可以写判断语句,很方便。 最后感谢【上海-数据分析-小粒】粉丝提问,感谢【北京-数分-阿汤】、【深圳-运营-梧桐】、【武汉-优化算法-derek】、【常州-销售-MT】、【北京-金融-Bran】大佬给出的思路和代码。当然方法肯定还不只是上面4种,也欢迎大家多多发散思维,提出新的方法。 ------------------- End ------------------- |
|