如何解决在熊猫中使用lambda调用另一列
我正在检查NYC MVA数据集。我通过结合CRASH TIME
和CRASH DATE
重写了CRASH TIME
列:
df['CRASH TIME'] = (df['CRASH DATE'] + ' ' + df['CRASH TIME']).apply(lambda x: dt.datetime.strptime(x,'%m/%d/%Y %H:%M'))
df = df.drop('CRASH DATE',axis=1)
我有一个字符串,其中包含来自日出/日落API的24小时数据。我正在尝试提取日出和日落数据并将其转换为日期时间对象。
我编写了一个函数来执行API调用:
def get_sunrise_sunset(sun,date):
'''
get sunrise/sunset information
'''
api_link = 'https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&date={}'.format(date.strftime('%Y-%m-%d'))
r = requests.get(api_link)
time = r.json()['results'][sun][:-3]
if sun == 'sunset':
time = '1' + str(int(time[0])+2) + time[1:]
dt_time = dt.datetime.strptime(time,'%H:%M:%S').time()
return dt_time
我现在打算将此功能应用于数据集,创建名为SUNRISE
和SUNSET
的新列。我尝试使用以下apply()
进行此操作:
df['SUNRISE'] = df.apply(lambda x: get_sunrise_sunset(sun='sunrise',date=x['CRASH TIME']),axis=1)
不幸的是,这似乎已停滞不前-我将其整夜运行,但12小时后仍未完成。我假设这是由于lambda
-apply()
的书写不正确造成的。我该如何正确实施呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。