python - 如何将 pandas DataFrame 的一列中的字符串插入到特定索引处的另一列?

标签 python string pandas dataframe

我的问题

我们将此数组类型数据设置为 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/

相关文章:

python - PyCurl 替代品,libcurl 的 pythonic 包装器?

python - 这个 `_time_independent_equals` 是什么意思?

python - 将索引上的数据框与 Pandas 合并

Python pandas 如何将多行合并为一行?

python - Scrapy:即使项目已明确定义,也会出现键错误

python - Python 中的显式行连接

python - 在 O(n) 中合并和排序 n 个字符串

string - 有没有办法做反Sprintf结果

javascript - 只返回匹配的一部分

python - Pandas 数据框在 x 行后创建新列