Получите день недели из серии UTC_TIME в Пандах - PullRequest
1 голос
/ 19 марта 2019

Когда я делаю

df.dtypes

, появляется это

utc_time         int64

Один из примеров utc_time: 1536444323321

Я нашел здесь код для изменения utc_time (эпоха) к дню недели

df['Week_Day'] = 
datetime.fromtimestamp(df['utc_time']/1000).strftime("%A")

Но я получаю эту ошибку:

TypeError                                 Traceback (most recent call 
last)
<ipython-input-124-b3277c232078> in <module>()
      2 # df['intage'] = df['utc_time'].astype(int)
      3 # df['intage'] = df['utc_time'].dt.days
----> 4 df['Week_Day'] = 
datetime.fromtimestamp(df['utc_time']/1000).strftime("%A")

/anaconda3/lib/python3.6/site-packages/pandas/core/series.py in 
wrapper(self)
    115             return converter(self.iloc[0])
    116         raise TypeError("cannot convert the series to "
--> 117                         "{0}".format(str(converter)))
    118 
    119     return wrapper

TypeError: cannot convert the series to <class 'int'>

1 Ответ

1 голос
/ 19 марта 2019

Сначала преобразуйте столбец / серию в объект даты и времени. df['column'] = pd.to_datetime(df['column'])

Тогда у вас есть два варианта:

  • Вариант 1 - использовать метод доступа .dt: df['column'].dt.weekday дает вам дни недели в виде целых чисел

  • Вариант 2 - использовать объект панды Timestamp: df['column'].apply(pd.Timestamp.weekday)

Но я очень рекомендую вариант 1.

...