Zeichenkette in Pandas DataFrame ersetzen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Luc4aa
User
Beiträge: 1
Registriert: Sonntag 17. November 2019, 13:32

Hallo, ich möchte für folgende Tabelle das "+/-" durch ein "±" ersetzen. Das Zeichen ist erstmal zweitrangig, der LaTex-Code "$\pm$" würde auch gehen. Egal, was ich als "Ersatzzeichen" eingegeben habe, die Tabelle verändert sich nicht.

Code: Alles auswählen

df = pd.DataFrame({'A': ["3.90+/-0.04", "3.550+/-0.035", "3.250+/-0.033"],'B': [0.04175, 0.03800, 0.03490]})

df=df.replace("+/-", "±", regex=False)

print(df)
Habe schon in zahlreichen Foren gesucht, aber nicht gefunden, was ich falsch gemacht habe.
Vielen Dank im Voraus!
Benutzeravatar
snafu
User
Beiträge: 6955
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Es sollte funktionieren, wenn du es als Regex-Pattern formulierst (dabei das +-Zeichen escapen):

Code: Alles auswählen

df.replace(r"\+/-", "±", regex=True)
Benutzeravatar
__blackjack__
User
Beiträge: 14336
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Oder etwas gezielter nur in der "A"-Spalte ersetzen:

Code: Alles auswählen

df["A"] = df["A"].str.replace("+/-", "±", regex=False)
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Antworten