So habe ich eine benutzerdefinierte Funktion, die ich auf eine Zeile von Daten in einem DataFrame anwenden möchte, aber wie schließe ich die zusätzlichen Parameter, die ich braucheWie pd.apply mit meiner eigenen benutzerdefinierten Funktion zu verwenden, die 1 Eingabeargument nehmen
A weights
0 1 0.166
1 2 0.333
2 3 0.5
ich habe sah online, aber ich kann nichts zu finden scheinen, oder muss ich auf Standard: ich habe ein Beispiel unter
# Using df.apply
df = pd.DataFrame({"A": [1,2,3]})
sum_A = np.sum(df.A)
def calc_weight(row, total):
row["weights"] = row["A"]/total
df.apply(calc_weight(row, sum_A), axis = 1)
# Gives NameError: name 'row' is not defined
df.apply(calc_weight(row, sum_A), axis = 1)
# TypeError: calc_weight() missing 1 required positional argument: 'total'
Die Ausgabe, die ich so etwas wie wollen gegeben eine For-Schleife zu verwenden, um so etwas zu tun?
Danke, das war einfach genug! – YellowPillow
Gern geschehen :) – linpingta