2 回答
TA贡献1777条经验 获得超3个赞
就如此容易:
>>> df[3] = df[3].str[:-1] + ', ' + df['1'] + ')'
>>> df
0 1 2 3
0 746200.0 IP:aWSrjjB foldcauchy foldcauchy(c=3.40, loc=853.32, scale=188436.01, IP:aWSrjjB)
1 1061881.5 IP:joW6uH4 johnsonsu johnsonsu(a=-0.39, b=0.46, loc=715076.10, scale=70401.41, IP:joW6uH4)
2 645000.0 IP:4Q3L2kB foldcauchy foldcauchy(c=3.94, loc=835.77, scale=184545.16, IP:4Q3L2kB)
3 284375.0 IP:WLP1cdn loglaplace loglaplace(c=1.81, loc=-1001.33, scale=701001.33, IP:WLP1cdn)
4 666600.0 IP:kQn348T johnsonsu johnsonsu(a=-0.39, b=0.46, loc=715076.10, scale=70401.41, IP:kQn348T)
5 754678.5 IP:kQn348T loglaplace loglaplace(c=1.93, loc=-1087.33, scale=786087.33, IP:kQn348T)
TA贡献1804条经验 获得超7个赞
像这样的东西?
df[3].combine(df[1], lambda x, y: x.replace(")", ", {})".format(y)))
pandas.Series.combine
是一个很好的函数,您可以使用它一次对两列应用转换,生成第三列或替换其中的一列。在这种情况下,它只是将第")"
3 列中的尾随替换为第1 列中的值。
添加回答
举报