pandas用另一列替换列的一部分

时间:2016-11-21 09:19:38

标签: python pandas

所以我有一个pandas数据框,我们称之为数据;数据有两列,a列和b列。就像这样:

  a          b
0 aaa        tts
1 abb        tst
2 aba        tss

我想用列b替换a列中的每个“a”。就像这样:

  a          b
0 ttsttstts tts
1 tstbb      tst
2 tssbtss    tss

我绑了这样的东西:

data['a'] = data['a'].apply(lambda x:x.replace("sub-string",data['b']))

但是我除外,没有工作。请有人告诉我该怎么做。

1 个答案:

答案 0 :(得分:2)

您需要在df上逐行迭代(传递axis=1),以便您可以访问要在第一列中替换所有“a”的单个“b”列值:< / p>

In [51]:
df['a'] = df.apply(lambda x: x['a'].replace('a',x['b']), axis=1)
df

Out[51]:
           a    b
0  ttsttstts  tts
1      tstbb  tst
2    tssbtss  tss
相关问题