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)


暂无数据
推荐帖子
0条评论
0条评论
1条评论