这是我的代码:
a=np.arange('2017-01-01', '2017-01-09', dtype='datetime64[D]')
我得到了以下输出:
array(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
'2017-01-05', '2017-01-06', '2017-01-07', '2017-01-08'], dtype='datetime64[D]')
我想从每个元素中删除多年。我怎样才能做到这一点?
答案 0 :(得分:0)
你想剥夺 out 的岁月?
您可以创建public void retrieve(final Qu qu) {
db.collection(COLLECTION).document("someDoc")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot doc = task.getResult();
ques.setQu(q.toObject(Qu.class));
}
}
}
}
}).;
}
对象并使用Series
访问者。
dt
或者,使用pd.Series(a).dt.strftime('%m-%d')
0 01-01
1 01-02
2 01-03
3 01-04
4 01-05
5 01-06
6 01-07
7 01-08
dtype: object
:
pd.to_datetime
答案 1 :(得分:0)
Y
单位的日期为:
In [870]: a.astype('datetime64[Y]')
Out[870]: array(['2017', '2017', '2017', '2017', '2017', '2017', '2017', '2017'], dtype='datetime64[Y]')
或者从其余日期中减去第一个日期,得到timedelta64
In [875]: a-a[0]
Out[875]: array([0, 1, 2, 3, 4, 5, 6, 7], dtype='timedelta64[D]')
tolist
将日期数组转换为datetime
个对象
In [888]: a.tolist()
Out[888]:
[datetime.date(2017, 1, 1),
datetime.date(2017, 1, 2),
datetime.date(2017, 1, 3),
datetime.date(2017, 1, 4),
datetime.date(2017, 1, 5),
datetime.date(2017, 1, 6),
datetime.date(2017, 1, 7),
datetime.date(2017, 1, 8)]
可以形成字符串
In [889]: [x.strftime('%m-%d') for x in a.tolist()]
Out[889]: ['01-01', '01-02', '01-03', '01-04', '01-05', '01-06', '01-07', '01-08']
没有datetime64
格式只包含月份和日期。
tolist
datetime.timedelta`对象上的 item
或timedelta64[...]' produces a
。