Pandas实现一列切分为多列

目录

前言

场景

二、实现

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

 


前言

pandas专栏将pandas数据处理的函数以及一些功能都写的基本完善了,现在一些工作就是查漏补缺了。我会将我在实际项目上遇到的一些将pandas实现的较为复杂的功能总结为各个小文章,作为以后集成做开源项目作准备,这样以来数据分析的基础就很牢固,

Pandas数据分析系列专栏已经更新了很久了,基本覆盖到使用pandas处理日常业务以及常规的数据分析方方面面的问题。从基础的数据结构逐步入门到处理各类数据以及专业的pandas常用函数讲解都花费了大量时间和心思创作,如果大家有需要从事数据分析或者大数据开发的朋友推荐订阅专栏,将在第一时间学习到Pandas数据分析最实用常用的知识。此篇博客篇幅较长,涉及到数据可视化等各类操作,值得细读实践一番,我会将Pandas的精华部分挑出细讲实践。博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。


场景

这里功能型的解析就直接见场景,比如拿到这个数据:
Pandas实现一列切分为多列_第1张图片

 第四列是个数组,我们需要此列拆开分解,形成单独的一列,这里大家注意此列的数组可以不是固定长度的,可以不一致。如果要达成此效果我们需要利用到以下功能函数:

  • set_index()
  • split()
  • stack()
  • reset_index()

二、实现

我们创建一个dataframe用于实现:

Pandas实现一列切分为多列_第2张图片

通过split我们可以先将该列切分:

df_test['cheak'].str.split(',', expand=True)

 Pandas实现一列切分为多列_第3张图片

将其转置可将None去掉:

df_test['cheak'].str.split(',', expand=True).stack()

 Pandas实现一列切分为多列_第4张图片

这是常用的索引重塑,想要了解更清楚的可以去看博主的另一篇博文:一文速学-Pandas索引重塑实现长宽表数据转换_fanstuck的博客-CSDN博客

Pandas实现一列切分为多列_第5张图片

 

df_test['cheak'].str.split(',', expand=True).stack().reset_index(level=0, drop=True).reset_index(name='cheak_cot')

 Pandas实现一列切分为多列_第6张图片

综合起来一条代码就能实现:

df_test.set_index(['linkid','status'])['cheak'].str.split(',', expand=True).stack().reset_index(level=2, drop=True).reset_index(name='cheak_cot')

Pandas实现一列切分为多列_第7张图片 

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

你可能感兴趣的:(pandas,python,数据分析,数据挖掘)