Ich habe zwei Serien im Datenrahmen unten. Die erste ist eine Zeichenfolge, die in der zweiten erscheint, die eine URL-Zeichenfolge sein wird. Ich möchte die erste Reihe ändern, indem ich zusätzliche Zeichen verkette, und diese Änderung auf die zweite Zeichenfolge anwenden.Split und Join Series in Pandas
import pandas as pd
#import urlparse
d = {'OrigWord' : ['bunny', 'bear', 'bull'], 'WordinUrl' : ['http://www.animal.com/bunny/ear.html', 'http://www.animal.com/bear/ear.html', 'http://www.animal.com/bull/ear.html'] }
df = pd.DataFrame(d)
def trial(source_col, dest_col):
splitter = dest_col.str.split(str(source_col))
print type(splitter)
print splitter
res = 'angry_' + str(source_col).join(splitter)
return res
df['Final'] = df.applymap(trial(df.OrigWord, df.WordinUrl))
ich zu find the string from the source_col
versuche, dann split
auf dieser Zeichenfolge im dest_col
, bewirkt dann diese Änderung auf der Saite in dest_col
. Hier habe ich es als neue Serie Final
genannt, aber ich würde lieber inplace. Ich denke, das Hauptproblem ist die splitter
Variable, die nicht funktioniert und die Anwendung der Funktion.
Hier ist, wie Ergebnis aussehen soll:
OrigWord WordinUrl
angry_bunny http://www.animal.com/angry_bunny/ear.html
angry_bear http://www.animal.com/angry_bear/ear.html
angry_bull http://www.animal.com/angry_bull/ear.html
Dies ist die Antwort, die ich am besten finde, da es inplace plus keine Notwendigkeit ist, Funktion zu erstellen, verwenden Sie einfach Lambda. Vielen Dank – noblerthanoedipus