我想知道是否有人可以帮我解决这个问题:我有一个熊猫数据框(从文本文件生成),它的结构应该类似于这个:
import pandas as pd
data = {'Objtype' : ['bias', 'bias', 'flat', 'flat', 'StdStar', 'flat', 'Arc', 'Target1', 'Arc', 'Flat', 'Flat', 'Flat', 'bias', 'bias'],
'UT' : pd.date_range("23:00", "00:05", freq="5min").values,
'Position' : ['P0', 'P0', 'P0', 'P0', 'P1', 'P1','P1', 'P2','P2','P2', 'P0', 'P0', 'P0', 'P0']}
df = pd.DataFrame(data=data)
我想做一些考虑到观察时间的操作,所以我将UT
列从string
格式更改为 numpy datetime64
:
df['UT'] = pd.to_datetime(df['UT'])
这给了我这样的东西:
Objtype Position UT
0 bias P0 2016-08-31 23:45:00
1 bias P0 2016-08-31 23:50:00
2 flat P0 2016-08-31 23:55:00
3 flat P0 2016-08-31 00:00:00
4 StdStar P1 2016-08-31 00:05:00
5 flat P1 2016-08-31 00:10:00
6 Arc P1 2016-08-31 00:15:00
7 Target1 P1 2016-08-31 00:20:00
但是,这里有两个问题:
首先)将年/月/日分配给当前。
第二)这一天从 23:59 -> 00:00 没有改变。相反,它已经倒退了。
如果我们知道第一个数据框索引行的真实日期,并且我们知道所有条目都是按顺序排列的(并且它们总是从日落到日出)。我们如何纠正这些问题?