想要通过从列表中获取列名来使用for循环连接表中的列

时间:2019-06-18 02:36:40

标签: python pandas

想通过使用For循环通过从列表项中获取列名变量来连接表中的列

当我执行for循环以连接表中的列时,列未按预期进行连接。

enter image description here

KeyList = [ 'Employee #', 'ID5' ]

for x in range (0, len(KeyList)):
   dfSrcData["Keys"] = dfSrcData[KeyList[x]].apply(str)
   dfSrcData["Comkeys"] = dfSrcData["Keys"] + '-'


Print(dfSrcData["ComKeys"])

Expected Results should be
516-56
517-57
518-58
519-59
520-60

2 个答案:

答案 0 :(得分:0)

KeyList = [ 'Employee #', 'ID5' ]

dfSrcData["ComKeys"] = dfSrcData[KeyList].astype(str).add('-').sum(axis=1).str.strip('-')

注意:密钥列表的顺序在这里很重要。串联将按照选择的顺序进行

答案 1 :(得分:0)

直接添加旧内容也可以:

dfSrcData["ComKeys"] = dfSrcData['Employee *'].astype(str) + '-' + dfSrcData['ID5'].astype(str)