胖达君的超级工具

23、pandas的多列拼接成一列函数.str.cat()

2017-12-29  本文已影响0人  让数据告诉你

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

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

df df2

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

一、字符串列的合并

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

直接拼接两列

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

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

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

添加合并分隔符号

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

二、含有数值列的合并

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

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

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

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

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

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

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

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

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

直接加字符串

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

所以我们得先建一列:

先设置一个临时列

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

使用cat()函数进行拼接   也可以用这种方式

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

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

上一篇下一篇

猜你喜欢

热点阅读