Also ich versuche, eine Funktion zum Index Zeile für Zeile gelten, aber einige ProblemePython Pandas auf Indexzeile mit Lambda-Zeile
startDate = '2015-05-01 00:00'
endDate = '2015-05-08 00:00'
idx = pd.date_range(startDate, endDate, freq="1min")
df = pd.DataFrame(columns=['F(t)'])
df = df.reindex(idx, fill_value=0)
def circadian_function(T):
return math.cos(math.pi*(T-delta)/12)
Alles ist in Ordnung bis zu hier habe, aber versuchen, die Funktion anwenden Ich bin mir nicht sicher, was ich tun soll
df['F(t)'] = df.index.apply(lambda x: circadian_function x[index].hour, axis=1)
Sollte ich ein Lambda verwenden? Oder nur eine Bewerbung?
vergessen Sie das Delta, ich definiere delta = 18 im Code, aber df ['F (x)'] = circadian_function (df.index.hour) gibt den Fehler TypeError: nur Länge-1-Arrays kann in Python-Skalare konvertiert werden –
Das ist genau der Grund, warum Sie in meinem Beispiel 'math' in' numpy' oder 'np' ändern sollten. – spicypumpkin
Guter Fang mit numpy. Ich habe meine Antwort aktualisiert. –