从熊猫的UTC_TIME系列获取星期几

时间:2019-03-19 13:59:23

标签: python pandas utc dayofweek

当我这样做

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 个答案:

答案 0 :(得分:1)

首先,将您的列/系列转换为日期时间对象。 df['column'] = pd.to_datetime(df['column'])

然后,您有两个选择:

  • 选项1-使用.dt访问器: df['column'].dt.weekday为您提供工作日为整数

  • 选项2-使用熊猫Timestamp对象: df['column'].apply(pd.Timestamp.weekday)

但是我真的推荐选项1。