Pandas- 将默认日期时间更改为其他时间
Pandas- Change default datetime to another time
我有一个包含两个 datetime
列的数据框。我正在对这两个 datetime
列进行区分,以找出它们之间的天数。问题是两者的时间都从 06:00:00
开始,所以当实际的一天结束时,差异保持不变。
这是数据框
machineID datetime_tel comp1 datetime_maint sincelastComp1
30 2021-01-01 23:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 00:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 01:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 02:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 03:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 04:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 05:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 06:00:00 1 2020-07-31 06:00:00 155
30 2021-01-02 07:00:00 1 2020-07-31 06:00:00 155
在这里你可以看到当我们将日期设置为 2021-01-02
将时间设置为 00:00:00
时,sincelastComp1
中没有增量(理想情况下它应该随着日期增加而增加1).它仅在时间为 06:00:00
.
时增加
我希望在日期更改时发生增量。
如果我没理解错的话,您想计算日期之间的差异而不是时间戳之间的差异:
df['sincelastComp1'] = (df['datetime_tel'].apply(pd.Timestamp).dt.date -
df['datetime_maint'].apply(pd.Timestamp).dt.date).dt.days
输出:
machineID datetime_tel comp1 datetime_maint sincelastComp1
0 30 2021-01-01 23:00:00 1 2020-07-31 06:00:00 154
1 30 2021-01-02 00:00:00 1 2020-07-31 06:00:00 155
2 30 2021-01-02 01:00:00 1 2020-07-31 06:00:00 155
3 30 2021-01-02 02:00:00 1 2020-07-31 06:00:00 155
4 30 2021-01-02 03:00:00 1 2020-07-31 06:00:00 155
5 30 2021-01-02 04:00:00 1 2020-07-31 06:00:00 155
6 30 2021-01-02 05:00:00 1 2020-07-31 06:00:00 155
7 30 2021-01-02 06:00:00 1 2020-07-31 06:00:00 155
8 30 2021-01-02 07:00:00 1 2020-07-31 06:00:00 155
我有一个包含两个 datetime
列的数据框。我正在对这两个 datetime
列进行区分,以找出它们之间的天数。问题是两者的时间都从 06:00:00
开始,所以当实际的一天结束时,差异保持不变。
这是数据框
machineID datetime_tel comp1 datetime_maint sincelastComp1
30 2021-01-01 23:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 00:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 01:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 02:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 03:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 04:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 05:00:00 1 2020-07-31 06:00:00 154
30 2021-01-02 06:00:00 1 2020-07-31 06:00:00 155
30 2021-01-02 07:00:00 1 2020-07-31 06:00:00 155
在这里你可以看到当我们将日期设置为 2021-01-02
将时间设置为 00:00:00
时,sincelastComp1
中没有增量(理想情况下它应该随着日期增加而增加1).它仅在时间为 06:00:00
.
我希望在日期更改时发生增量。
如果我没理解错的话,您想计算日期之间的差异而不是时间戳之间的差异:
df['sincelastComp1'] = (df['datetime_tel'].apply(pd.Timestamp).dt.date -
df['datetime_maint'].apply(pd.Timestamp).dt.date).dt.days
输出:
machineID datetime_tel comp1 datetime_maint sincelastComp1
0 30 2021-01-01 23:00:00 1 2020-07-31 06:00:00 154
1 30 2021-01-02 00:00:00 1 2020-07-31 06:00:00 155
2 30 2021-01-02 01:00:00 1 2020-07-31 06:00:00 155
3 30 2021-01-02 02:00:00 1 2020-07-31 06:00:00 155
4 30 2021-01-02 03:00:00 1 2020-07-31 06:00:00 155
5 30 2021-01-02 04:00:00 1 2020-07-31 06:00:00 155
6 30 2021-01-02 05:00:00 1 2020-07-31 06:00:00 155
7 30 2021-01-02 06:00:00 1 2020-07-31 06:00:00 155
8 30 2021-01-02 07:00:00 1 2020-07-31 06:00:00 155