pandas数据分列实现分割符号&固定宽度,


目录
  • 背景
  • 模拟数据
  • 读取数据
  • 分割符号分列
  • 固定宽度分列

背景

数据分列在数据处理中很常见,数据分列一般指的都是字符串分割,这个功能在Excel里面很实用,处理数据非常方便,那么在pandas数据框中怎么使用呢,今天这篇文章就来详细介绍下

分列

模拟数据

以下面这9行数据作为案例来进行处理

模拟数据

读取数据

#加载库
import pandas as pd

#读取数据
data=pd.read_excel('data.xlsx')

读取数据

分割符号分列

主要运用了pandas里面列的str属性,str有很多的方法,感性的同学可以自动查找,这里不做过多介绍。分割字符用到的就是split方法重点:在分割前一定要把该列强制转换为字符型

#对指定列进行分割
split_data_1=data['分割字符'].astype('str').str.split('&',expand=True)

#修改分割后的字段名称
split_data_1.columns=['D_'+str(i) for i in split_data_1.columns]

#与原始数据进行合并
data_result=data.join(split_data_1)

分割符号

固定宽度分列

pandas里面没有固定分割的相应函数,这里巧妙的运用了辅助函数来进行处理,这里的固定宽度为1

#定义个辅助函数
def concat_split(x,width=1):
    result=''
    start=0
    while True:
        s=str(x)[start:start+width]
        
        if s:
            result =result + s + '&'
        else:
            break
        start=start+width
        
    return result[:-1]

#先利用辅助函数,再进行分割
split_data_2=data['固定宽度'].map(concat_split).str.split('&',expand=True)

#修改分割后的字段名称
split_data_2.columns=['W_'+str(i) for i in split_data_2.columns]

#与原始数据进行合并
data_result=data.join(split_data_2)

固定宽度

到此这篇关于pandas数据分列实现分割符号&固定宽度的文章就介绍到这了,更多相关pandas数据分列内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

您可能感兴趣的文章:
  • pandas之分组统计列联表pd.crosstab()问题
  • Python Pandas:DataFrame一列切分成多列、分隔符切分选字段方式
  • Python pandas入门系列之众数和分位数
  • pandas 实现某一列分组,其他列合并成list
  • pandas将list数据拆分成行或列的实现
  • Pandas实现一列数据分隔为两列
  • pandas 使用均值填充缺失值列的小技巧分享
  • Python学习笔记之pandas索引列、过滤、分组、求和功能示例

评论关闭