You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Pandas DataFrame的TimeStamp列手动添加00:00:00时间值

解决方案

嘿,这个需求我经常碰到,给你几个实用的方案,按需选择就行:

方法1:转换为Datetime类型(推荐)

如果你的TimeStamp列是字符串或纯日期格式,直接用pd.to_datetime()转换为Pandas的datetime类型,它会自动给没有时分秒的日期补上00:00:00,而且后续还能方便地做时间相关的运算:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({'TimeStamp': ['2017-01-01', '2017-01-02']})

# 转换列类型
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])

# 验证结果
print(df['TimeStamp'])
# 输出会是:
# 0   2017-01-01 00:00:00
# 1   2017-01-02 00:00:00
# Name: TimeStamp, dtype: datetime64[ns]

这种方法的好处是保留了datetime类型,后续排序、筛选、计算时间差都很方便。

方法2:格式化为带时分秒的字符串(仅展示场景)

如果你只是需要把日期显示成带00:00:00的字符串,不需要后续时间操作,可以用dt.strftime()格式化:

# 先确保列是datetime类型(如果不是的话先转)
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
# 格式化为字符串
df['TimeStamp'] = df['TimeStamp'].dt.strftime('%Y-%m-%d %H:%M:%S')

# 验证结果
print(df['TimeStamp'])
# 输出会是:
# 0    2017-01-01 00:00:00
# 1    2017-01-02 00:00:00
# Name: TimeStamp, dtype: object

⚠️ 注意:这种方法会把列变成字符串类型,之后就不能直接做时间运算了,所以只适合纯展示的需求。

额外小技巧

如果不想修改原DataFrame,可以用assign()方法生成新列:

df_new = df.assign(TimeStamp=pd.to_datetime(df['TimeStamp']))

内容的提问来源于stack exchange,提问作者CodeForJoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:58:09