import pytz
import time
#import locale
import urllib2
yourOlsonTZ = None
#yourCountryCode = locale.getdefaultlocale()[0].split('_')[1]
yourCountryCode = urllib2.urlopen('http://api.hostip.info/country.php').read()
for olsonTZ in [pytz.timezone(olsonTZ) for olsonTZ in pytz.all_timezones]:
if (olsonTZ._tzname in time.tzname) and (str(olsonTZ) in pytz.country_timezones[yourCountryCode]):
yourOlsonTZ = olsonTZ
break
print yourOlsonTZ
Этот код будет взломать наилучшую догадку в вашем часовом поясе Olson, основанный как на вашем имени часового пояса (как в соответствии с модулем time
Python ) и ваш код страны (в соответствии с модулем locale
Python проект hostip.info , который ссылается на ваш IP-адрес и соответствующим образом привязывает вас к геолокации).
Например, просто совпадение с именами Timzone может привести к America/Moncton
, America/Montreal
или America/New_York
для EST (GMT-5). Однако, если ваша страна является США, она ограничит ответ на America/New_York
.
Однако, если ваша страна - Канада, сценарий будет просто по умолчанию высшим канадским результатом (America/Moncton
). Если есть способ доработать это, пожалуйста, оставляйте предложения в комментариях.
df = df.groupby('A')['B'].apply(lambda x: '/'.join(x))
df.reset_index()
Выход
A B
0 15sdttb sun / mercury/ mars/ jupyter
1 wnx526y earth/ moon
Для первых двух предпочтений
df = df.groupby('A')['B'].apply(lambda x: '/'.join(x[:2]))
df.reset_index()
Выход
A B
0 15sdttb sun / mercury
1 wnx526y earth/ moon