如何用Pandas生成起止日期范围内含随机值的DataFrame?
使用Pandas生成带日期序列和随机值的DataFrame
完全可以实现,只需要借助Pandas的日期生成工具和随机数函数就能自动完成,无需手动输入日期。以下是具体实现步骤和代码:
步骤说明
- 用
pd.date_range()生成指定起止日期的连续日期序列,自动匹配天数 - 用NumPy或Pandas的随机函数生成对应长度的随机值
- 将日期序列和随机值组合成DataFrame
完整代码示例
import pandas as pd import numpy as np # 设置起止日期 start_date = "2015-06-25" end_date = "2015-06-28" # 生成连续日期序列 date_series = pd.date_range(start=start_date, end=end_date) # 生成随机值(这里生成0-30之间的浮点数,保留1位小数) random_values = np.random.uniform(low=0, high=30, size=len(date_series)).round(1) # 创建DataFrame df = pd.DataFrame({ "date": date_series, "value": random_values }) # 查看结果 print(df)
输出示例(随机值会每次运行不同)
date value 0 2015-06-25 12.0 1 2015-06-26 23.0 2 2015-06-27 3.4 3 2015-06-28 5.6
额外调整选项
- 如果需要整数随机值,替换随机值生成代码为:
random_values = np.random.randint(low=1, high=30, size=len(date_series)) - 如果要将日期转为字符串格式,添加:
df["date"] = df["date"].dt.strftime("%Y-%m-%d")
内容的提问来源于stack exchange,提问作者navee pp
相关产品推荐
相关产品推荐

