使用Python基于日期时间返回日出和日落时间
我的使用Python基于日期时间返回日出和日落时间,python,pandas,datetime,timezone,Python,Pandas,Datetime,Timezone,我的df是这样的 DateTime Pdc 01/04/2016 10:00 1 01/04/2016 10:05 2 02/04/2016 10:10 3 02/04/2016 10:15 4 03/04/2016 10:20 5 03/04/2016 10:25 6 03/04/2016 10:30 7 我想根据df上的日期添加两列日出时间和日落时间,如下例: DateTime Pdc Sunrise
df
是这样的
DateTime Pdc
01/04/2016 10:00 1
01/04/2016 10:05 2
02/04/2016 10:10 3
02/04/2016 10:15 4
03/04/2016 10:20 5
03/04/2016 10:25 6
03/04/2016 10:30 7
我想根据df
上的日期添加两列日出时间和日落时间,如下例:
DateTime Pdc Sunrise Sunset
01/04/2016 10:00 1 time time
01/04/2016 10:05 2 time time
02/04/2016 10:10 3 time time
02/04/2016 10:15 4 time time
03/04/2016 10:20 5 time time
03/04/2016 10:25 6 time time
03/04/2016 10:30 7 time time
我不知道怎么做。尝试,我不知道如何实现它没有包
时区。返回我无法解决的错误。使用Python 2时,我没有检查它。适用于列表中的城市,但不适用于我的城市。您可以从中检索日落和日出时间。
你所需要的只是知道你的纬度和经度。如果您不知道它们,可以从geopy
lib检索它们:
import requests
from geopy.geocoders import Nominatim
location = Nominatim().geocode('Moscow')
r = requests.get('https://api.sunrise-sunset.org/json', params={'lat': location.latitude, 'lng': location.longitude}).json()['results']
print('Sunrise:', r['sunrise'])
print('Sunset:', r['sunset'])
输出:
Sunrise: 3:30:56 AM
Sunset: 3:42:58 PM
这适用于列表中的城市,但不适用于我的城市
-查找与您所在时区相同的城市。@Alderven Just时区太宽;e、 g.中国是一个巨大的时区,但有着截然不同的天文时间。你引用一个链接说它不起作用,因为没有名为时区的软件包。但是这个链接说:“使用了一个默认的datetime,它是用timezone模块中的LocalTimezone对象初始化的。我在这里没有提供这个模块,但是您可以通过复制Python文档中的示例来实现一个非常简单的模块”,所以我认为说它不起作用有点过分了。你们并没有真正尝试让它工作。@deceze这取决于需要的神秘行动。@Alderven市的同一时区是不够的。这一点也很重要。