我有一个如下所示的数据框:
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 填充吗?
我不确定这是否是您想要的,但这是一种方法。
将您的初始数据框指定为 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)