使用函数转换日期时间列
Convert datetime column using function
我有一个包含日期时间列的数据框。
我正在尝试从 获得最佳答案以处理我的数据框。
def sunrise(timee):
sun = ephem.Sun()
observer = ephem.Observer()
# ↓ Define your coordinates here ↓
observer.lat, observer.lon, observer.elevation = '48.730302', '9.149483', 400
# ↓ Set the time (UTC) here ↓
observer.date = timee
sun.compute(observer)
current_sun_alt = sun.alt
return current_sun_alt * 180 / math.pi
ClimateDF.insert(1, 'datetime', pd.to_datetime(ClimateDF.index)) #Index is date time!
ClimateDF['datetime'] = ClimateDF['datetime'].dt.strftime('%Y/%m/%d %H:%M:%S')
ClimateDF['datetime'] = sunrise(ClimateDF['datetime'])
我想不通。我错过了什么?
我目前得到:
raise TypeError("cannot convert the series to " "{0}".format(str(converter)))
TypeError: cannot convert the series to <class 'float'>
你应该 return current_sun_alt * 180 / math.pi
而不是打印它。
您的问题中似乎缺少一些代码,因为您有 def sunrise(timee):
但根本没有函数体。但是,我在这里看到一个问题:
ClimateDF['datetime'] = ClimateDF['datetime'].dt.strftime('%Y/%m/%d %H:%M:%S')
ClimateDF['datetime'] = sunrise(ClimateDF['Day/Night2'])
您永远不会创建名为 Day/Night2
的列。你是想用那个名字创建一个列吗? ClimateDF['Day/Night2'] = sunrise(ClimateDF['datetime'])
我有一个包含日期时间列的数据框。
我正在尝试从
def sunrise(timee):
sun = ephem.Sun()
observer = ephem.Observer()
# ↓ Define your coordinates here ↓
observer.lat, observer.lon, observer.elevation = '48.730302', '9.149483', 400
# ↓ Set the time (UTC) here ↓
observer.date = timee
sun.compute(observer)
current_sun_alt = sun.alt
return current_sun_alt * 180 / math.pi
ClimateDF.insert(1, 'datetime', pd.to_datetime(ClimateDF.index)) #Index is date time!
ClimateDF['datetime'] = ClimateDF['datetime'].dt.strftime('%Y/%m/%d %H:%M:%S')
ClimateDF['datetime'] = sunrise(ClimateDF['datetime'])
我想不通。我错过了什么? 我目前得到:
raise TypeError("cannot convert the series to " "{0}".format(str(converter)))
TypeError: cannot convert the series to <class 'float'>
你应该 return current_sun_alt * 180 / math.pi
而不是打印它。
您的问题中似乎缺少一些代码,因为您有 def sunrise(timee):
但根本没有函数体。但是,我在这里看到一个问题:
ClimateDF['datetime'] = ClimateDF['datetime'].dt.strftime('%Y/%m/%d %H:%M:%S')
ClimateDF['datetime'] = sunrise(ClimateDF['Day/Night2'])
您永远不会创建名为 Day/Night2
的列。你是想用那个名字创建一个列吗? ClimateDF['Day/Night2'] = sunrise(ClimateDF['datetime'])