2016-11-21 6 views
2

, damit ich einen Pandas Datenrahmen haben, machen wir es Daten nennen, Daten hat zwei Spalten, Spalte ein und Spalte b.Like dies:Pandas Teil einer Säule mit einer anderen Säule ersetzen

a   b 
0 aaa  tts 
1 abb  tst 
2 aba  tss 

Ich möchte ersetzen Sie jedes "a" in der Spalte eine mit Spalte b.Like dies:

a   b 
0 ttsttstts tts 
1 tstbb  tst 
2 tssbtss tss 

band ich so etwas wie dieses:

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

aber als ich, ausgenommen tat nicht work.could jemand bitte sagen Sie mir, was zu tun ist.

Antwort

1

Sie müssen reihenweise auf dem df iterieren (vorbei axis=1), so dass Sie die einzelnen ‚b‘ Spaltenwerte zugreifen können, die Sie alle Vorkommen von ‚a‘ in der ersten Spalte zu ersetzen beabsichtigen:

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

Vielen Dank dieses Problem hat mich für eine lange Zeit abgehört und jetzt ist mein Geist endlich in Frieden ~~~ –

Verwandte Themen