Pandas 如何将午夜值(dd/mm/yyyy 00:00)归因于前一天?

Pandas 如何将午夜值(dd/mm/yyyy 00:00)归因于前一天?,pandas,Pandas,我有每半小时积累和记录的数据。因此,午夜(例如2019年1月27日00:00)记录的数据实际上与前一天(2019年1月26日)相关。这会在合计每日值时产生问题 我知道可以将00:00重新编码为23:59,以确保它位于2019年1月26日,但是否有更干净/更具蟒蛇风格的方法 非常感谢 如果您的问题是您的日志记录在午夜,而实际上与午夜前半小时对应,那么为什么不将其应用于所有记录呢。比如: import pandas as pd # ... df['Log Period Start'] = df[

我有每半小时积累和记录的数据。因此,午夜(例如2019年1月27日00:00)记录的数据实际上与前一天(2019年1月26日)相关。这会在合计每日值时产生问题

我知道可以将00:00重新编码为23:59,以确保它位于2019年1月26日,但是否有更干净/更具蟒蛇风格的方法


非常感谢

如果您的问题是您的日志记录在午夜,而实际上与午夜前半小时对应,那么为什么不将其应用于所有记录呢。比如:

import pandas as pd

# ...

df['Log Period Start'] = df['Log Time'] - pd.Timedelta(minute=30)

然后将您的计算应用于
'Log Period Start'
而不是
'Log Time'
如果您的问题是日志记录在午夜,而实际上与午夜前的半小时相对应,那么为什么不将此应用于所有记录呢。比如:

import pandas as pd

# ...

df['Log Period Start'] = df['Log Time'] - pd.Timedelta(minute=30)

然后将您的计算应用于
'Log Period Start'
,而不是
'Log Time'

为什么不将pd.Timedelta(day=1)?@MohitMotwani这样,您会把其他时间都搞砸。答案对整个数据帧都有效。你说得对。这仅与午夜记录的数据有关。我误解了这个问题。好主意-记录2330是来自2330-0000的数据是一个很好的方法,也许是最直接的方法。为什么不使用pd.Timedelta(day=1)?@MohitMotwani,这样你会把其他时间都搞砸。答案对整个数据帧都有效。你说得对。这仅与午夜记录的数据有关。我误解了这个问题。好主意——一个很好的解决办法,记录2330是2330-0000的数据,也许是最直接的方法。