我有一个带有列和行的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-
希望这有助于解释。我知道这不是一个很好的代表,但是我有这个问题,对于解决这个问题至关重要 谢谢
答案 0 :(得分:1)
查看您的输出后,我意识到您想组合三个列str1
,QM
和str2
。我在这里假设str1
和str2
的dtype是str,而QM
的dtype是float。您可以使用以下代码获取output
列,如下所示:
df["output"] = df["str1"] + df["QM"].astype(str) + df["str2"]