所以我有一个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']))
但是我除外,没有工作。请有人告诉我该怎么做。
答案 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