Ich spiele mit Pandas und versuche, String-Slicing auf ein String-Objekt anzuwenden. Anstatt die Fäden in Scheiben geschnitten zu bekommen, wird die Serie geschnitten:
%Vor%Auf der anderen Seite:
%Vor%Ich habe es funktioniert, indem ich stattdessen die Kartenfunktion verwendet habe, aber ich denke, ich vermisse etwas darüber, wie es funktionieren soll.
Würde eine Klarstellung sehr schätzen.
apply
versucht zuerst, die Funktion auf die ganze Serie anzuwenden. Nur wenn dies fehlschlägt, wird die gegebene Funktion jedem Element zugeordnet. [:2]
ist eine gültige Funktion für eine Reihe, + 'qwerty'
ist anscheinend nicht, deshalb erhalten Sie die implizite Abbildung auf letzterer. Wenn Sie das Mapping immer machen möchten, können Sie s.map
verwenden.
apply
s Quellcode als Referenz:
Wes McKinneys Antwort ist etwas veraltet, aber er hat seinen Wunsch erfüllt - Pandas haben jetzt effiziente String-Verarbeitungsmethoden, einschließlich Slicing:
%Vor%Sie sind auf dem richtigen Weg:
%Vor%Ich würde gerne ein paar vektorisierte, NA-freundliche String-Bearbeitungswerkzeuge in Pandas hinzufügen ( Siehe hier ). Immer auch jede Entwicklungshilfe zu schätzen wissen.