连接字符串和列中的某些值的函数

时间:2018-06-29 23:07:07

标签: python python-3.x pandas dataframe

我有一个带有列和行的pandas数据框。现在,我想创建另一列,该列将是两个字符串和数据帧中的一列的串联。 所以它的工作方式是我有一个字符串一(请参见下面的词典)+ colx(来自数据帧)+字符串二

stringList = {
     'one': """ AC:A000 AMI:NO CM:B C:YES CL:CPN:'#US3L+""",
     'two': """ FRQ:4  NOT:1 PX:C PXND:1E-6:DOWN RDTE:MAT RP:1 SET:0WW XD:NO """
}

我试图创建一个函数,但是我认为这不能按我的意愿工作。我希望这是一个函数,以便可以在另一个函数中调用它。

def fun(final):

    for i in dm:
        c = stringList['one'] + str(dm[i]) + stringList['two']
        final.append(c)

请暂时解决此问题,因为我目前仍然遇到这个问题。

必需的输出:

str1                                      |QM     |str2          |output
 AC:A000 AMI:NO CM:B C:YES CL:CPN:'#US3L+ |0.0125 | RQ:4  NOT:1 PX:C PXND:1E-6:DOWN RDTE:MAT RP:1 SET:0WW XD:NO|    AC:A000 AMI:NO CM:B C:YES CL:CPN:'#US3L+0.0125RQ:4  NOT:1 PX:C PXND:1E-6:DOWN RDTE:MAT RP:1 SET:0WW XD:NO

AC:A000 AMI:否CM:B C:是CL:CPN:'#US3L + 0.016 RQ:4 NOT:1 PX:C PXND:1E-

希望这有助于解释。我知道这不是一个很好的代表,但是我有这个问题,对于解决这个问题至关重要 谢谢

1 个答案:

答案 0 :(得分:1)

查看您的输出后,我意识到您想组合三个列str1QMstr2。我在这里假设str1str2的dtype是str,而QM的dtype是float。您可以使用以下代码获取output列,如下所示:

df["output"] = df["str1"] + df["QM"].astype(str) + df["str2"]