📜  在 pandas 列中将日期截断为午夜 - Python (1)

📅  最后修改于: 2023-12-03 15:23:14.797000             🧑  作者: Mango

在 pandas 列中将日期截断为午夜 - Python

在进行时间序列分析时,经常需要将具有时间戳的列的时间戳截断为午夜。在 Python 的 pandas 包中,可以使用 dt.floor 方法来实现。以下是一个示例:

import pandas as pd

# 创建一个DataFrame,包含一列日期时间戳
df = pd.DataFrame({
    'timestamp': [
        '2021-01-01 10:30:00',
        '2021-01-02 15:45:00',
        '2021-01-03 05:15:00'
    ]
})

# 将时间戳截断为午夜
df['timestamp'] = pd.to_datetime(df['timestamp']).dt.floor('d')

# 输出DataFrame
print(df)

以上代码将输出如下内容:

   timestamp
0 2021-01-01
1 2021-01-02
2 2021-01-03

在这个示例中,我们创建了一个包含一个日期时间戳的 DataFrame,并使用 pd.to_datetime 将它转换为 pandas 的日期时间戳对象。然后,我们使用 dt.floor 方法,将日期时间戳截断为午夜。 'd' 是一个时间戳偏移字符串,表示日期时间戳应该被截断到日期级别。

注意,将时间戳截断为午夜是通过在 Python 中生成新的时间戳对象完成的。如果您需要在原始 DataFrame 上更改时间戳列,请使用 df['timestamp'].dt.floor('d', inplace=True)