如何用Python获取一天内00:00:00到24:00:00的全量秒级时间戳数组
生成一天内秒级时间戳数组的解决方案
你的代码存在两个核心问题:
- 变量名不匹配:定义了
m_days却使用了未声明的n_days - 时间增量逻辑错误:只按天累加,没有按秒生成,自然得不到86400条数据
下面是两种可行的Pandas实现方式:
方式1:列表推导式生成
import pandas as pd from datetime import timedelta # 锁定当天00:00:00的时间起点(normalize方法会清空时间部分) start_time = pd.Timestamp.today().normalize() # 逐个添加0到86399秒的增量,生成完整的秒级时间序列 timestamp_list = [start_time + timedelta(seconds=i) for i in range(86400)] # 如需转换为Unix秒级时间戳,执行以下步骤 unix_timestamps = [ts.timestamp() for ts in timestamp_list]
方式2:Pandas原生高效方法
import pandas as pd # 直接生成当天00:00:00开始、间隔1秒、共86400个时间点的序列 time_series = pd.date_range(start=pd.Timestamp.today().normalize(), periods=86400, freq='S') # 转换为Python列表格式 timestamp_list = time_series.to_list() # 转换为Unix秒级时间戳列表 unix_timestamps = time_series.astype('int64') // 10**9
说明:
pd.Timestamp.today().normalize()能确保起始时间是当天零点,避免当前时间的干扰freq='S'指定时间间隔为1秒,是生成秒级序列的关键参数- 第二种方式利用Pandas内置优化,比列表推导式更适合处理大规模时间序列
提示:如果需要的是纯数字格式的Unix时间戳,直接使用第二种方式的
unix_timestamps即可
内容的提问来源于stack exchange,提问作者suhas_rkms
相关产品推荐
相关产品推荐

