将一列数据,分裂成多列,且清理多余符号

将一列数据,分裂成多列,且清理多余符号

处理一列数据

我们先来看一下数据形式,大概形式如下
在这里插入图片描述
如上所示,数据只有一列,并且数据中含有中括号以及单引号,我们想要将其去掉,并且分裂成多行。

数据处理过程

1.首先我们要知道,每一行都是一列pandas.core.series.Series,而且是一个整体,我们想要替换掉中括号以及每个单引号,必须使用df[0],而不是df,才能将其中的数据取出来。具体代码如下,我们使用循环将每一行都取出来,使用replace函数进行替换。并将处理好的数据替换点原先的数据

for i in range(len(data)):
    temp = data.loc[i]
    // 以下为替换左右括号以及单引号代码,如果有更简洁的代码请留言
    temp = temp[0].replace("'", "")
    temp = temp.replace("[", "")
    temp = temp.replace("]", "")
    // 将处理好的数据替换掉原来的数据
    data.loc[i] = temp

处理完后的结果如下所示
在这里插入图片描述

2.然后使用split(),将数据从逗号处分割开,并给列名为A、B、C。。。
data[0]表明数据分裂第0列

df = data[0].str.split(',', expand=True).rename(columns={
    
    0:'A', 1:'B', 2:'C', 3:'D',4:'E'})

猜你喜欢

转载自blog.csdn.net/weixin_40061485/article/details/125663779