Ich versuche, eine Funktion zu schreiben, die eine bestimmte Spalte von einem Pandas DataFrame aufruft, die ich zuvor in meinem Code definiert habe.Wie definiere ich eine Funktion/Makro, die eine bestimmte Datenrahmenspalte in Python aufruft?
Der Datenrahmen kann etwas Einfaches wie
df = pd.DataFrame(
{
'col0': np.random.randint(0,100,100),
'col1': np.random.randint(0,100,100),
'col2': np.random.randint(0,100,100)
}
)
Der nächste Schritt wäre, eine Funktion zu schreiben, die col0, col1 oder col2 nennt.
def hist(x):
return np.histogram(
df['x'],
bins = 6
)
Wenn Sie jedoch die Funktion durch den im Datenrahmen definierten Spaltennamen aufrufen, erkennt Python den Namen nicht;
In [1]: hist(col1)
Traceback (most recent call last):
File "<ipython-input-68-e860df6abc8e>", line 1, in <module>
hist(col1)
NameError: name 'col1' is not defined
Gibt es dafür einen Workaround?
Sie haben gerade eine Strings Giot gemischt Variablennamen. 'df ['x']' muss 'df [x]' sein, und 'col1' im Funktionsaufruf muss' "col1" 'sein. – DyZ