So ersetzen Sie Text in einer Zeichenfolgenspalte eines Pandas-Datenrahmens
In Pandas kann es vorkommen, dass Sie den Inhalt ändern müssen einer Textspalte, beispielsweise das Ersetzen eines bestimmten Zeichens oder einer bestimmten Zeichenfolge. Dies kann mit der leistungsstarken Ersetzungsmethode erreicht werden.
Sie haben erwähnt, dass es eine Spalte gibt, die in Klammern eingeschlossene Werte enthält und zwei Zahlen durch ein Komma trennt. Ihr Ziel ist es, das Komma durch einen Bindestrich zu ersetzen. Ihr aktueller Ansatz mit org_info_exc['range'].replace(',', '-', inplace=True) funktioniert jedoch nicht.
Das Problem liegt in der Syntax Ihres Codes. Bei der Ersetzungsmethode müssen Sie die genaue Zeichenfolge oder den regulären Ausdruck angeben, der ersetzt werden soll. In Ihrem Fall stimmt das Komma nicht exakt mit dem gesamten Wert überein.
Um das Komma korrekt zu ersetzen, sollten Sie die folgende Methode verwenden:
<code class="python">df['range'] = df['range'].str.replace(',','-')</code>
Hier verwenden wir vektorisierte str-Methode, die es uns ermöglicht, auf jedes Element in der Spalte eine String-Transformation anzuwenden. Die Ersetzungsfunktion benötigt zwei Parameter: die ursprüngliche Zeichenfolge, die ersetzt werden soll, und die neue Zeichenfolge, durch die sie ersetzt werden soll.
Dieser Code verwendet den regulären Ausdruck „“, um das Kommazeichen abzugleichen, unabhängig von seiner Position innerhalb der Zeichenfolge .
BEARBEITEN:
Analysieren Ihres ursprünglichen Versuchs:
<code class="python">df['range'].replace(',','-',inplace=True)</code>
In der Beschreibung für diesen Ansatz in der Pandas-Dokumentation heißt es: „str: string genau passende to_replace wird durch value ersetzt.“ Da die Zeichenfolgen in Ihrer Spalte nicht genau mit dem Kommazeichen übereinstimmen, erfolgt die Ersetzung nicht.
Wenn wir umgekehrt eine genaue Übereinstimmung für das Kommazeichen bereitstellen, wie unten gezeigt, erfolgt die Ersetzung:
<code class="python">df = pd.DataFrame({'range':['(2,30)',',']}) df['range'].replace(',','-', inplace=True) df['range'] 0 (2,30) 1 - Name: range, dtype: object</code>
In diesem modifizierten Beispiel enthält die zweite Zeile eine genaue Übereinstimmung für das Komma und die Ersetzung erfolgt.
Das obige ist der detaillierte Inhalt vonWie ersetze ich ein Komma in einer String-Spalte eines Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!