添加一个 pandas 列,一次性连接整个数据帧的另外两列中的值

问题描述 投票:0回答:1

我有一个如下所示的数据框:

   ColA  ColB
1   foo   xxx-123
2   goo   yyy-987

我想在数据框中添加一列,将数据放在一起,使数据框看起来像这样:

    ColA  ColB     ColC
1   foo   xxx-123  foo (xxx-123)
2   goo   yyy-987  goo (yyy-987)

我已经尝试过这个,我认为在其他类似情况下建议将其作为解决方案:

df['ColC'] = df['ColA'] + ' (' + df['ColB'] + ')'

我期待得到这个:

    ColA  ColB     ColC
1   foo   xxx-123  foo (xxx-123)
2   goo   yyy-987  goo (yyy-987)

相反,我得到了这个错误:

尝试在 DataFrame 的切片副本上设置一个值。尝试 使用 .loc[row_indexer,col_indexer] = value 代替

我真的不想逐行进行 - pandas 有办法做这种事情,比如 Excel 填充吗?

pandas dataframe calculated-columns
1个回答
0
投票

我不确定这是否是您想要的,但这是一种方法。

将您的初始数据框指定为 df

df['ColC'] = zip(df['ColA'].to_list(), df['ColB'].to_list())  

产生以下结果:

ColA    ColB    ColC
0   foo xxx-123 foo (xxx-123)
1   foo xxx-123 foo (xxx-123)
© www.soinside.com 2019 - 2024. All rights reserved.