pandas的DataFrame怎么把几列数据合并成为新的一列

trans_id trans_cd trans_type trans_amt trans_class
335 4091   95.03 消费
336 4091   15.54 消费-代扣缴费
337 4092 预借现金 92.31  
338 4092 预借现金 23.39  
339 4093   101.17  
340 403   59.17  
341 4100 消费 12.3 消费
342 4100 消费-代扣缴费 89.52 消费-代扣缴费
343 4101 消费-代扣缴费 98.26 消费-代扣缴费
344 4101 消费-代扣缴费 97.64 消费-代扣缴费

如上图表格:

1、其中的trans_type、trans_class两列合成一列用于模糊查找,并创建新的列。

df['trans_type_class'] = df['trans_type']+df['trans_class']

注:但是某一列如果为空,另一列不为空,则合并结果是为空,所以在合并之前需要对NA进行预处理,替换或者删除。

2、如果某一列是非str类型的数据,那么我们需要用到map(str)将那一列数据类型做转换:

df["newColumn"] = df["trans_cd"].map(str) + df["trans_class"]

posted @ 2018-11-24 15:11  魔法规划师  阅读(27011)  评论(0编辑  收藏  举报