Pandas的字符串的分割之str.cat()

原文:https://www.jianshu.com/p/4a2ecf65e3ea

在数据处理时,常常需要将某一列进行拆分,分列,这个在之前的文章中已经总结过了,有str.split()、str.extract()、str.replace函数。

不过有时候我们不仅仅需要将数据进行拆分,也还需要进行拼接操作。将不要的拆掉,再将需要的拼接上。这个操作在str.replace没法达到预期结果的时候就显得很重要了。

df

df2

接下来我们就来看看这个函数到底特别在哪个地方:

一、字符串列的合并

如果我们要将location和location_road两列拼接起来,我们可以这么操作:

直接拼接两列

也就是第一列的名称.str.cat(第二列的名称)。

当然这样处理是不方便我们后续继续操作的,假如我们后续要将合并的这一列拆分开就会比较麻烦了。

所以我们可以在两个合并的列中间加一个分隔符号:

添加合并分隔符号

增加参数sep=''就是增加分隔符号,具体的符号可自定义。

二、含有数值列的合并

str.cat()函数使用的前提是两列的内容都是字符串,如果是数值型的话会报错。

提示预期的是字符串,但是找到的却是整数型

这个时候就需要先对整数型的列先做一下转换:

转换成字符串之后就可以操作

数据类型的转换也可以用:

数据类型转换的另一种方法

三、在某列加上某一特定的字符串

如果只是想在某一列上的所以字符串都加上一个相同的字符串要怎么操作呢?

我们先直接在cat()函数当中直接加上我们想要的字符串试试看:

直接加字符串

直接加字符串出现了报错:pandas把这样的操作误认为了是sep分隔符号了,然后就出现错误了。

所以我们得先建一列:

先设置一个临时列

然后就可以使用cat()函数进行拼接:

使用cat()函数进行拼接  

也可以用这种方式

这样就可以把多列进行拼接了,需要注意的是多列拼接的时候需要用中括号把多列括起来。

当然了,以上的这些操作也可以使用自定义函数来完成。



作者:探索数据之美
链接:https://www.jianshu.com/p/c1d99d14603d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值