码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Python随机生成数据的一些方法


    • 通过Python_Faker生成测试数据
    • 通过Python基础语法生成一些随机数
      • 利用26个字母和10个数字随机生成5个八位密码
      • 生成5个2位小数点的随机数
      • 生成5个随机整数数

    通过Python_Faker生成测试数据

      通过Python_Faker生成测试数据需要安装Faker包,使用pip安装pip install Faker。
      随机生成5个人的个人信息(包括用户名、年龄、性别、地址、工作、婚姻状态)并保存为.csv文件,代码如下所示。

    from faker import Faker
    import pandas as pd
    from collections import OrderedDict
    
    fake = Faker(locale='zh_CN')
    sex_dict = OrderedDict([('男', 0.52), ('女', 0.48)])
    married_dict = OrderedDict([('未婚', 0.4), ('已婚', 0.5), ('离异', 0.1), ])
    work_dict = OrderedDict([('白领', 0.45), ('教师', 0.1), ('工人', 0.2), ('公务员', 0.1), ('销售', 0.15)])
    user_name = []
    age = []
    address = []
    sex = []
    work = []
    married = []
    # 生成人数
    num = 5
    # 生成name age address
    for i in range(num):
        user_name.append(fake.user_name())
        age.append(fake.random_int(min=16, max=45))
        address.append(fake.province())
        sex.append(fake.random_element(sex_dict))
        work.append(fake.random_element(work_dict))
        married.append(fake.random_element(married_dict))
    data = {'用户名': user_name, '年龄': age, '性别': sex, '地址': address, '工作': work, '婚姻状态': married}
    print(data)
    
    users = pd.DataFrame.from_dict(data)
    print(users)
    
    users.to_csv("test_data.csv", index=True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

      运行后得到的test_data.csv文件中的内容如下所示。
    在这里插入图片描述

      具体还可以生成很多其他信息,有地址相关、汽车相关、银行相关、条形码相关、颜色相关、公司相关、信用卡相关、货币相关、时间相关、文件相关、坐标相关、网络相关、图书相关、职位相关、文本相关、编码相关、人物相关、电话相关、档案相关、身份证相关、用户代理相关等种类信息。

    通过Python基础语法生成一些随机数

    利用26个字母和10个数字随机生成5个八位密码

    import random
    
    list1 = []
    for i in range(97, 123):
        list1.append(chr(i))  # 得到字母字符并放入列表
    for i in range(48, 58):
        list1.append(chr(i))  # 得到数字字符并放入列表
    
    for i in range(5):
        str1 = ''.join(random.choices(list1, k=8))  # 随机生成8位密码的列表,并将其转换成字符串的形式
        print(f'第{i + 1}个密码是{str1}')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    第1个密码是90xenegh
    第2个密码是kshnh0md
    第3个密码是3yw38d00
    第4个密码是78resjpv
    第5个密码是5lf9f76z

    生成5个2位小数点的随机数

    import random
    
    for i in range(5):
        a = random.uniform(1, 100)  # 生成的随机数范围
        print(round(a, 2))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    37.14
    10.74
    32.11
    53.16
    84.58

    生成5个随机整数数

    import random
    
    for i in range(5):
        a = random.randint(1, 100)
        print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    32
    17
    98
    22
    18

  • 相关阅读:
    荒野大镖客emp.dll文件丢失的怎么办,快速修复游戏dll问题
    快速安装docker-compose
    高等数学教材重难点题型总结(六)定积分的应用
    Nginx部署vue项目并在局域网中开放访问(尝鲜)
    做自媒体视频二次剪辑,怎样剪辑不算侵权
    W6_二叉树
    Social Justice Awards秋季赛学霸怎么理解?
    【限制输入框值类型】自定义指令el-input输入类型限制,vue和html两个版本
    位域的应用(花费时间过长,暂时放弃了,大小端的同步一半也不需要个人去考虑,但是可以作为debug的可能方向)
    Spring Boot——Thymeleaf
  • 原文地址:https://blog.csdn.net/HUAI_BI_TONG/article/details/125917002
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号