经常会将表格中多列拼接面单个key,如将表中c1,c2两列使用下划线拼接起来生成新列c3, 有两种操作方式
方式一:data['c3'] = data['c1'] + '_' + data['c2']
方式二:data['c3'] = data.apply(lambda row: '_'.join([row.c1, row.c2]), axis=1)
从耗时上看,方式一明显低于方式二,主要因为方式一是并行处理,方式二是迭代data每一行进行
但有时,由于需要达成逻辑复用和抽象的目的还是会使用方式二,因为这样可以将lambda作为配置内容根据不同的数据使用不同的“取Key”方法。这里描述一种即可以实现“取Key”逻辑配置化,又可以达成并行处理的实现方式: