Как разбить поле метки времени на год, месяц и день и т. Д.? - PullRequest
0 голосов
/ 04 июля 2018

У меня есть поле метки времени, которое имеет это определение:

Временной интервал: начало временного интервала, выраженного как число миллисекунд, прошедшее с эпохи Unix 1 января 1970 года в UTC. Конец временного интервала можно получить, добавив 600000 миллисекунды (10 минут) до этого значения. ТИП: числовой

Я хотел бы разбить это поле на год, месяц, день месяца, день недели, номер недели.

Похоже, мне нужно было бы использовать поле извлечения с формулой. Но, как новичок в мире SPSS, мне не ясно, как я мог бы использовать поле производных для этого.

Эквивалент в пандах:

df['Datetime'] = pd.to_datetime(df['Time interval'].astype(int))

df['Year'] = df['Datetime'].dt.year
df['Month'] = df['Datetime'].dt.month
df['Day'] = df['Datetime'].dt.day
df['DayOfWeek'] = df['Datetime'].dt.dayofweek

1 Ответ

0 голосов
/ 10 июля 2018

Вы хотите создать 5 переменных отдельно, верно?

Для создания:

** 1) Год - используйте производный узел и вызовите новую переменную как «Год» с синтаксисом: «datetime_year (field)» -> извлечет год в числах (2012)

2) Месяц - используйте производный узел и вызовите новую переменную как «Месяц» с синтаксисом: «datetime_month (field)» -> извлечет месяц в числах (от 1 до 12)

3) День месяца - используйте производный узел и вызовите новую переменную как DayMonth с синтаксисом: «datetime_day (field)» -> извлечет дату месяца в числах (от 1 до 31)

4) День недели - используйте производный узел и вызовите новую переменную как DayWeek с синтаксисом: «datetime_weekday (field)» -> извлечет день недели в числах (от 1 до 7)

5) Номер недели - используйте производный узел и вызывайте новую переменную как «WeekNumb» с синтаксисом: «date_iso_week (field)» -> ISO 8601 (это единственная функция, которую я никогда не использовал в вашем списке). * *

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

IBM Ref

Я надеюсь быть полезным.

...