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: 6866
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: 14047
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)
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten