2016-11-21 212 views
2

所以我有一个熊猫数据帧替换列的一部分,我们称之为数据;数据有两列,一列和列b.Like这样的:大熊猫与另一列

a   b 
0 aaa  tts 
1 abb  tst 
2 aba  tss 

我想与列替换每个“一”在列b.Like这样的:

a   b 
0 ttsttstts tts 
1 tstbb  tst 
2 tssbtss tss 

我绑是这样的:

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

但我除外,没work.could任何人都请告诉我该怎么做。

回答

1

您需要遍历行明智的(通过axis=1),这样就可以访问个人“B”柱,你打算更换的“A”的第一列所有出现值DF:

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 
+0

非常感谢这个问题困扰了我很长一段时间,现在我的思想终于平静了~~~ –