Ich versuche, Spalten mit String-Daten zusammenzufassen. Das Problem ist, dass ich das NaN ignorieren möchte, aber ich habe keine Lösung gefunden.Strings in Pandas verbinden
Die Datenrahmen wie folgt aussehen:
s=pd.DataFrame({'A':['(Text,','(Text1,'],'B':['(Text2,','(Text3,'],'C':['(Text4,','(Text5,']})
A B C
0 (Text, (Text2, (Text4,
1 (Text1, (Text3, (Text5,
Zuerst habe ich löschen Sie die Klammern und Kommata mit:
sA = s['A'].str.lstrip('(').str.rstrip(',')
sB = s['B'].str.lstrip('(').str.rstrip(',')
sC = s['C'].str.lstrip('(').str.rstrip(',')
Und dann habe ich die Spalten zusammen.
sNew = sA + ' ' + sB + ' ' + sC
print sNew
0 Text Text2 Text4
1 Text1 Text3 Text5
1. Gibt es einen besseren Weg, um die Spalten zusammenfassen? Ich habe das Gefühl, dass dieser Weg nicht wirklich effizient ist. Ich versuchte die str.lstrip
für alle Spalten, aber es funktioniert nicht.
2. Wenn ich ein NaN in einer Zelle habe, ist die Reihe NaN. Wie kann ich das NaN in diesem speziellen Fall ignorieren? z.B.
A B C
0 (Text, (Text2, (Text4,
1 (Text1, (Text3, NaN
und mein Ergebnis wird, nachdem die Klammern löschen und zusammenzufassen ...
0 Text Text2 Text4
1 NaN
aber ich möchte folgendes Ergebnis ...
0 Text Text2 Text4
1 Text1 Text3
Es wird großartig sein, wenn Sie Habe ein paar Tipps für mich, um das Problem zu lösen!
Das ist, was ich brauche. Vielen Dank! – EnergyNet