Есть ли тип данных сезона? - PullRequest
0 голосов
/ 14 января 2019

Я работаю с ИИ, и у меня есть набор данных, который связан со временем года. С сезоном другое слово. Температура, давление, влажность и тд. Задачи включают определение сезонно близких данных. Я провел небольшое исследование. Подробности в прилагаемом коде. Существует ли какой-либо общий тип данных для представления времени года и может ли быть время суток с астрономической точки зрения?

Я уже пытался представить данные с помощью тригонометрической функции sin и cos.

# # The way to represent season.

import pandas as pd
import math

rng = pd.date_range('1/1/2011', periods=365*3, freq='D')

# Time of year is close to what I want, but...
rng[100+2].dayofyear - rng[100].dayofyear
# Out: 2

# ...in some cases it goes wrong:
# Only 2 days range. Almost no difference from the season point of 
# view.
rng[364+2].dayofyear - rng[364].dayofyear
# Out: -363

# Yes, of couse, we still have a chance to fit AI to distinguish what 
#'season' mean. But isn't it to complicate? In fact I want to 
# reproduce some kind of astronomical data.
df = pd.DataFrame(index=rng, columns=('dayofyear','sin','cos'))

# Yes, I no this is not optimal. But this is just for visibility
for day in rng:
    #print (day.dayofyear)
    df.loc[day, 'dayofyear']=day.dayofyear
    df.loc[day, 'sin'] = math.sin(day.dayofyear/365*2*math.pi)
    df.loc[day, 'cos'] = math.cos(day.dayofyear/365*2*math.pi)

# Now, we can see something like season mean:
( df.loc['2012-01-01', 'sin'] - df.loc['2011-12-31', 'sin'] ) * 
( df.loc['2012-01-01', 'cos'] - df.loc['2011-12-31', 'cos'] ) 
# Out: -2.5503444618122675e-06

( df.loc['2012-06-01', 'sin'] - df.loc['2011-12-31', 'sin'] ) * 
( df.loc['2012-06-01', 'cos'] - df.loc['2011-12-31', 'cos'] )
# Out: -0.9111812528724549

# But, may be I just reinvent the bicycle?
# Is there a proper way to reproduce season and "Times of Day"?

1 Ответ

0 голосов
/ 14 января 2019

Насколько мне известно, сезон не указывается ни в типе данных временной метки, ни в модуле времени.

Что вы можете сделать, это написать форум, чтобы оценить дату и определить, в какое время года она выпадает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...