我的问题
我们将此数组类型数据设置为 m:
0 1 2 3
0 746200.0 IP:aWSrjjB foldcauchy foldcauchy(c=3.40, loc=853.32, scale=188436.01)
1 1061881.5 IP:joW6uH4 johnsonsu johnsonsu(a=-0.39, b=0.46, loc=715076.10, scale=70401.41)
2 645000.0 IP:4Q3L2kB foldcauchy foldcauchy(c=3.94, loc=835.77, scale=184545.16)
3 284375.0 IP:WLP1cdn loglaplace loglaplace(c=1.81, loc=-1001.33, scale=701001.33)
4 666600.0 IP:kQn348T johnsonsu johnsonsu(a=-0.39, b=0.46, loc=715076.10, scale=70401.41)
5 754678.5 IP:kQn348T loglaplace loglaplace(c=1.93, loc=-1087.33, scale=786087.33)
第二列是每行的唯一 IP。它的类型是str。
最后一列是每行的一堆分布。它的类型是str。
我想将唯一的 IP 附加到最后一列。
我的尝试
我尝试使用以下代码:
V = []
([V.append(m[3][1]), V.append(m[1][1])])
然而,这导致了错误的输出:
['loglaplace(c=1.88, loc=-932.82, scale=674382.82)',
'IP:slaL5jw']
虽然我可以使用str(['loglaplace(c=1.88,loc=-932.82,scale=674382.82)',
'IP:slaL5jw'])
所需输出的示例:
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)
最佳答案
就这么简单:
>>> 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)
引用文献:
Pandas make new column from string slice of another column
Combine two columns of text in dataframe in pandas/python
关于python - 如何将 pandas DataFrame 的一列中的字符串插入到特定索引处的另一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681263/