首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找datetime64的星期几

查找datetime64的星期几
EN

Stack Overflow用户
提问于 2018-09-19 13:00:21
回答 4查看 12.1K关注 0票数 9

抱歉,如果这是一个简单的问题,但我在numpy文档中看不到任何东西。我有一台datetime64,我想知道现在是星期几。

与python datetime不同,datetime64似乎没有.weekday()函数。然而,它确实有一个busday_offset()函数,这意味着它必须知道给定日期是一周中的哪一天。非常感谢您的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-19 13:48:34

我认为你可以这样做:

代码语言:javascript
复制
import numpy as np
import datetime
t = '2018-09-19'
t = np.datetime64(t)
day = t.astype(datetime.datetime).isoweekday()
print day

输出:

代码语言:javascript
复制
3
票数 6
EN

Stack Overflow用户

发布于 2018-09-19 13:41:07

请看以下相关的SO问题:

Get weekday/day-of-week for Datetime column of DataFrame

我知道你的数据是一个numpy数组,通过pandas将你的数据转换成dataframe格式可能会很有用。如下所示。

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame(numpyArray)

如果你的数据现在在一个数据框中,那么下面的代码(取自上面的链接)应该会为你提供你想要的工作日。

代码语言:javascript
复制
df['weekday'] = df['Timestamp'].dt.dayofweek

此外,此参考资料也可能对您有所帮助。

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.dt.dayofweek.html

票数 12
EN

Stack Overflow用户

发布于 2019-01-19 12:57:31

如果你正在寻找一种真正的矢量化的numpy方法,你可以这样做:

代码语言:javascript
复制
def day_of_week_num(dts):
    return (dts.astype('datetime64[D]').view('int64') - 4) % 7

这有点老生常谈,只是利用了numpy.datetime64与unix时代相关的事实,那是一个星期四。

(我不知道这是否是一个可以在不事先通知的情况下更改的实现细节,但您可以随时向assert np.zeros(1).astype('datetime64[D]') == np.datetime64('1970-01-01', 'D')查询。)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52398383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档