请问如何生成指定的随机数

请问一下如何生成指定要求的随机数,要求绝大部分值在5000上下小范围内浮动,偶尔会有较大的偏移。最好是能用python或excel实现。

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7803195
  • 这篇博客你也可以参考下:Python写出Excel文件数字类型变科学计数法以及精度丢失尾数变成0修复笔记
  • 除此之外, 这篇博客: 【数据分析可视化】用python分析了5000部票房,发现赚钱的电影都有这些特征~中的 问题一:电影类型如何随着时间的推移发生变化的? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    # 1、建立包含年份与电影类型数量的关系数据框:
    
    for genre in genres_list:
        moviesdf[genre] = moviesdf['genres'].str.contains(genre).apply(lambda x:1 if x else 0)
    
    genre_year = moviesdf.loc[:,genres_list]
    genre_year.head()
    
    AnimationForeignDramaWarMusicWesternHistoryDocumentaryTVAction...HorrorComedyMysteryThrillerFantasyCrimeMovieFictionAdventureScience
    00000000001...0000100111
    10000000001...0000100010
    20000000001...0000010010
    30010000001...0001010000
    40000000001...0000000111

    5 rows × 22 columns

    # 把年份作为索引标签
    genre_year.index = moviesdf['year']
    # 将数据集按年份分组并求和,得出每个年份,各电影类型的总数
    genresdf = genre_year.groupby('year').sum()
    # 查看数据集.tail默认查看后五行数据
    genresdf.tail()
    
    AnimationForeignDramaWarMusicWesternHistoryDocumentaryTVAction...HorrorComedyMysteryThrillerFantasyCrimeMovieFictionAdventureScience
    year
    20131701103121810256...257155321372273627
    2014140110109377054...2162156616270263726
    20151309528797046...3352206710260283528
    2016403731160039...202662713100112311
    20170010000000...0100000000

    5 rows × 22 columns

    # 汇总电影类型的数量
    genresdfSum = genresdf.sum(axis=0).sort_values(ascending=False)
    genresdfSum
    
    Drama          2297
    Comedy         1722
    Thriller       1274
    Action         1154
    Romance         894
    Adventure       790
    Crime           696
    Science         535
    Fiction         535
    Horror          519
    Family          513
    Fantasy         424
    Mystery         348
    Animation       234
    History         197
    Music           185
    War             144
    Documentary     110
    Western          82
    Foreign          34
    TV                8
    Movie             8
    dtype: int64
    
    # 2、数据可视化
    
    # 绘制各种电影类型的数量柱状图
    
    # 设置画板大小
    fig=plt.figure(figsize=(12,8))
    # 创建画纸,这里只使用1
    ax1 = plt.subplot(111)
    # 在画纸上绘图
    # 电影类型的数量按降序排序
    rects = genresdfSum.sort_values(ascending=True).plot(kind='barh', label='genres')
    plt.title('1各种电影类型的数量统计图')
    plt.xlabel('2电影数量(部)',fontsize=15)
    plt.ylabel('3电影类型',fontsize = 15)
    plt.show()
    

    在这里插入图片描述

    # 绘制各种电影类型占比的饼状图:
    genres_pie = genresdfSum / genresdfSum.sum()
    
    # 设置other类,当电影类型所占比例小于%1时,全部归到other类中
    others = 0.01
    genres_pie_otr = genres_pie[genres_pie >= others]
    genres_pie_otr['Other'] = genres_pie[genres_pie < others].sum()
    
    # 所占比例小于或等于%2时,对应的饼状图往外长高一截
    explode = (genres_pie_otr <= 0.02) / 20 + 0.05
    
    # 设置饼状图的参数
    genres_pie_otr.plot(kind='pie', label='',startangle=50,shadow=False,
                       figsize=(10,10),autopct='%1.11f%%', explode=explode)
    plt.title('a各种电影类型所占比例')
    
    Text(0.5, 1.0, 'a各种电影类型所占比例')
    

    在这里插入图片描述

    分析结论:

    从上面的结果可以看出,在所有的电影类型中,Drama(戏剧)类型电影最多,占所有电影类型的18.9%,其次为Comedy(喜剧),占所有电影类型的14.2%。

    在所有电影类型中,电影数量排名前5的电影类型分别为:

    Drama(戏剧)、Comedy(喜剧)、Thriller(惊悚)、Action(动作)、Romance(冒险)。

    # 3、电影类型随时间变化的趋势分析:
    plt.figure(figsize=(12,8))
    plt.plot(genresdf, label=genresdf.columns)
    plt.xticks(range(1910,2018,5))
    plt.legend(genresdf)
    plt.title('1电影类型随时间变化的趋势',fontsize=15)
    plt.xlabel('2年份',fontsize=15)
    plt.ylabel('3数量(部)',fontsize=15)
    plt.grid(True)
    plt.show()
    

    在这里插入图片描述

    分析结论:

    从图中观察到,随着时间的推移,所有电影类型都呈现出增长趋势,尤其是1992年以后各个类型的电影均增长迅速,其中Drama(戏剧)和Comedy(喜剧)增长最快,目前仍是最热门的电影类型。

  • 您还可以看一下 曾贤志老师的【曾贤志】用Python处理Excel数据 - 第1季 基础篇课程中的 5.4 实例应用(汇总每个人的总成绩)小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^