我有如下所示的数据格式,并正在进行重采样:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[datetime(2021, 3, 2, hour=11),
datetime(2021, 3, 2, hour=12),
datetime(2021, 3, 2, hour=13),
datetime(2021, 3, 2, hour=1),
datetime(2021, 3, 2, hour=2)])
r= df.resample('1D')
print(r.first())
print(r.last())
结果是
0
2021-03-02 4
0
2021-03-02 3
现在,我需要r.first()
为datetime(2021, 3, 2, hour=11):1
,r.last()
为datetime(2021, 3, 2, hour=2):5
,如原始序列所示,但不需要排序后的结果。这是如何取得的呢?
发布于 2022-02-16 06:40:51
为了防止排序,可以使用带日期的groupby
:
r= df.groupby(df.index.date)
print(r.first())
print(r.last())
0
2021-03-02 1
0
2021-03-02 5
https://stackoverflow.com/questions/71137335
复制相似问题