热线电话:13121318867

登录
2019-03-01 阅读量: 699
将列组合成新列时,数组格式是意外的

我在数据帧中有3列:

DF:

A |B|C

hi| |dear

为了将它们组合成一个新的D列,我做了:

df['D'] = [[x, y, z] for x, y, z in zip(df.A, df.B, df.C)]

不幸的是,结果如下:[hi, ,dear]。

我如何将其格式化为:[hi dear]或者[hi-dear]基本上删除空值(和相关的逗号),然后用空格或破折号连接其余值?

解决办法:apply是一个方便的工具,可以将简单函数应用于数据帧的所有行。在这里,您可以使用空格字符连接列,并用一个空格替换任意数量的空格。代码可以是:

import re

blanks = re.compile(' +')

df['D'] = df.apply(lambda x: blanks.sub(' ', ' '.join(x)), axis=1)

0.0000
5
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子