生成180组数据第一列为时间要求2023和2024年的工作日第二列为19:50-23:00之间的一个时间第三组数据为30-75之间的数据
以下是一种可能的解法,使用Python的pandas库和random库:
import pandas as pd
import random
# 生成2023和2024年的所有工作日日期
dates = pd.date_range(start='2023-01-01', end='2024-12-31', freq='B')
# 生成180个随机日期
rand_dates = random.sample(list(dates), k=180)
# 生成180个19:50-23:00之间的随机时间
rand_times = [pd.Timestamp.combine(d, pd.to_datetime(random.uniform(0.824074, 0.958333), format='%H%M%S.%f').time()) for d in rand_dates]
# 生成180个30-75之间的随机数
rand_nums = [random.randint(30, 75) for _ in range(180)]
# 将日期、时间、随机数合并成一个DataFrame,并输出到csv文件
df = pd.DataFrame({'日期': rand_dates, '时间': rand_times, '随机数': rand_nums})
df.to_csv('data.csv', index=False)
解释一下代码:
- 使用pandas库的
date_range函数生成2023-01-01至2024-12-31之间所有工作日的日期。 - 使用random库的
sample函数从所有日期中随机选取180个日期。 - 对于每个日期,使用random库的
uniform函数生成19:50-23:00之间的一个随机时间,并将日期和时间合并成一个pandas的Timestamp对象。 - 对于每个日期,使用random库的
randint函数生成30-75之间的一个随机数。 - 将日期、时间、随机数合并成一个pandas的DataFrame对象,并使用
to_csv函数输出到csv文件中。
得到的csv文件的格式如下:
日期,时间,随机数
2023-12-29,2023-12-29 22:14:15.600000,52
2024-02-01,2024-02-01 20:13:25.200000,50
2023-11-30,2023-11-30 19:54:21.600000,66
2023-11-07,2023-11-07 21:03:05.400000,31
...
原文地址: https://www.cveoy.top/t/topic/bFf3 著作权归作者所有。请勿转载和采集!