Ich möchte einen Variablennamen in einem Ausdruck ersetzen. Allerdings erhalte ich die Fehlermeldung, dass str nicht aufrufbar ist Hier ist mein BeispielPython Textersetzung 'Str' Objekt ist nicht aufrufbar
import numpy as np
import pandas as pd
raw_data = {'student_name': ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', 'M11', 'M12'],
'vocal_grade': ['R', 'X', 'Y', 'Z', 'R', 'X', 'X', 'X', 'X', 'X', 'X', np.NaN]}
df = pd.DataFrame(raw_data, columns = ['student_name', 'vocal_grade'])
dict_sam_vocal = {'R': 8, 'X': 5, 'Y': 6, 'Z': 7}
Dies funktioniert
x = 'vocal'
df[x+'_score'] = df[x+"_grade"].map(dict_sam_vocal)
Wenn ich versuche, Wörterbuch zu parametrisieren, bekomme ich folgende Fehler
df[x+'_score'] = df[x+"_grade"].map("dict_sam_"+x)
pandas/src/inference.pyx in pandas.lib.map_infer (pandas/lib.c:63043)()
TypeError: 'str' object is not callable
'.map()' nimmt eine Funktion als Argument. '" dict_sam _ "+ x' ist eine Zeichenkette. Der Inhalt der Zeichenfolge könnte mit dem Namen einer Funktion identisch sein, verbindet ihn jedoch nicht mit der Funktion –