Одна из проблем заключается в том, что существует несколько «симпатичных имен», таких как «Австралия / Сидней», которые указывают на один и тот же часовой пояс (например, CST).
Поэтому вам нужно будет получить все возможное имена для локального часового пояса, а затем выберите нужное вам имя.
например: для Австралии существует 5 часовых поясов, но больше идентификаторов часовых поясов:
"Australia/Lord_Howe", "Australia/Hobart", "Australia/Currie",
"Australia/Melbourne", "Australia/Sydney", "Australia/Broken_Hill",
"Australia/Brisbane", "Australia/Lindeman", "Australia/Adelaide",
"Australia/Darwin", "Australia/Perth", "Australia/Eucla"
вы должны проверить, есть ли библиотека, которая обертывает TZinfo, для обработки API часового пояса.
, например: для Python, проверьте библиотеку pytz
:
и
http://pypi.python.org/pypi/pytz/
в Python вы можете сделать:
from pytz import timezone
import pytz
In [56]: pytz.country_timezones('AU')
Out[56]:
[u'Australia/Lord_Howe',
u'Australia/Hobart',
u'Australia/Currie',
u'Australia/Melbourne',
u'Australia/Sydney',
u'Australia/Broken_Hill',
u'Australia/Brisbane',
u'Australia/Lindeman',
u'Australia/Adelaide',
u'Australia/Darwin',
u'Australia/Perth',
u'Australia/Eucla']
, но API для Python кажется довольно ограниченным, например он, похоже, не имеет вызова типа Ruby all_linked_zone_names
- который может найти все имена синонимов для данного часового пояса.
понял это Facepalm
df.loc[a, 'PSAR'] = df.loc[a-1, 'PSAR'] + (df.loc[a-1, 'AF']*(df.loc[a-1, 'EP']-df.loc[a-1, 'PSAR']))
Должно быть df.loc[a, 'PSAR'] = df.loc[a-1, 'PSAR'] + (df.loc[a-1, 'AF']*(df.loc[a-1, 'PSAR']-df.loc[a-1, 'EP']))
последние две переменные транспонированы! какая боль ...
Теперь я могу очистить функцию и сделать ее лучше.
надеюсь, что это поможет кому-то еще сделать что-то тупое и застрять на 2 дня