Ben şu kod, bir veri çerçevesi içinde 'Tarihler' sütununun saat bulmaya çalışırken:Python: pandalar lambda ifadede bir işlevi kullanmak
print(df['Dates'].head(3))
df['hour'] = df.apply(lambda x: find_hour(x['Dates']), axis=1)
def find_hour(self, input):
return input[11:13].astype(float)
print(df['Dates'].head(3))
benziyor:
df['hour'] = df.apply(lambda x: find_hour(x['Dates']), axis=1)
NameError: ("global name 'find_hour' is not defined", u'occurred at index 0')
kimse Kaçırdığım biliyor mu:
0 2015-05-13 23:53:00
1 2015-05-13 23:53:00
2 2015-05-13 23:33:00
Ancak, aşağıdaki hata var? Teşekkürler! Aşağıda gibi lambda hattında işlevi doğrudan koyarsanız, her şey iyi çalıştığını
Not: henüz tanımlandıktan önce find_hour
kullanmaya çalışıyorsanız
df['hour'] = df.apply(lambda x: x['Dates'][11:13], axis=1).astype(float)
Ayrıca saat çıkarabilir eğer bir datetime nesnesi ise, doğrudan x'den mi ve kendisinin olması gereken şey nedir? –