我有一个包含Date和Time列的CSV,我将它们组合在PANDA数据帧中,格式为‘%d/%m/%Y%H:%M’,并且我一直在使用DateTime包中的Floor将任何时间设置为小时:

df['DateTime'] = df['DateTime'].dt.floor('H')

取而代之的是,我希望每6小时设置一次最低限值,这样‘08/09/2022年8:46’变成‘08/09/2022年6:00’或‘08/09/2022年23:59’变成‘08/09/2022年18:00’或另一个自定义时间段

同样,有没有可能从发言权开始的地方进行偏移?例如,如果我们将发言权设置为1:00开始,那么0:59将变成19:00,而不是0:00.

我如何编辑该函数来实现这一点?

推荐答案

floor中使用'6H'作为频率:

df = pd.DataFrame({'DateTime': ['08/09/2022 8:46',  '08/09/2022 23:59', '08/09/2022 00:59']})
df['DateTime'] = pd.to_datetime(df['DateTime'])

df['DateTime'].dt.floor('6H')

输出:

0   2022-08-09 06:00:00
1   2022-08-09 18:00:00
2   2022-08-09 00:00:00
Name: DateTime, dtype: datetime64[ns]

要移动1小时,subtract 1小时:

df['DateTime'].sub(pd.Timedelta('1h')).dt.floor('6H')

输出:

0   2022-08-09 06:00:00
1   2022-08-09 18:00:00
2   2022-08-08 18:00:00
Name: DateTime, dtype: datetime64[ns]

Python相关问答推荐

覆盖Django rest响应,仅返回PK

如何使用Python中的clinicalTrials.gov API获取完整结果?

如何处理嵌套的SON?

分组数据并删除重复数据

在函数内部使用eval(),将函数的输入作为字符串的一部分

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

处理(潜在)不断增长的任务队列的并行/并行方法

更改键盘按钮进入'

无法定位元素错误404

在np数组上实现无重叠的二维滑动窗口

Scrapy和Great Expectations(great_expectations)—不合作

未知依赖项pin—1阻止conda安装""

如何使用SentenceTransformers创建矢量嵌入?

如何从列表框中 Select 而不出错?

从Windows Python脚本在WSL上运行Linux应用程序

OpenGL仅渲染第二个三角形,第一个三角形不可见

Discord.py -

BeautifulSoup-Screper有时运行得很好,很健壮--但有时它失败了::可能这里需要一些更多的异常处理?

在极点中读取、扫描和接收有什么不同?

如何将相同组的值添加到嵌套的Pandas Maprame的倒数第二个索引级别