如何在Python中生成按分钟间隔的日期时间列(工人假数据场景)
解决方案
要生成指定日期的每分钟时间数据,你可以用pandas.date_range创建精确的时间序列,再为每个时间点匹配其他列的随机数据,具体修改如下:
修改后的代码
import pandas as pd import numpy as np from faker import Faker from datetime import datetime # 初始化Faker fake = Faker() def make_daily_minute_data(target_date): # 定义可选值列表 status_list = ['in', 'out'] team_list = ['FL1_RM1','FL1_RM2','FL1_RM3', 'FL1_RM4', 'FL2_RM1'] # 生成目标日期的每分钟时间序列(共24*60=1440条) time_series = pd.date_range(start=f"{target_date} 00:00:00", end=f"{target_date} 23:59:00", freq='T') # 为每个时间点生成对应数据 data = { 'ID': [fake.random_number(digits=10) for _ in time_series], 'Temp': np.random.randint(low=35, high=50, size=len(time_series)), 'noted Date': time_series, 'Status': np.random.choice(status_list, size=len(time_series)), 'room_id': np.random.choice(team_list, size=len(time_series)) } return pd.DataFrame(data) # 调用函数,传入目标日期(格式如'2022-06-10') worker_df = make_daily_minute_data(target_date='2022-06-10') worker_df.head(20)
关键说明
pd.date_range的freq='T'参数表示按分钟生成时间点,自动生成1440条连续的每分钟数据- 目标日期可以自由指定,格式为
YYYY-MM-DD或其他能被pandas识别的日期格式 - 其他列的随机数据生成逻辑和原代码一致,改为按时间序列长度批量生成,效率更优
内容的提问来源于stack exchange,提问作者Jesse ansari
相关产品推荐
相关产品推荐

