使用Python随机生成数据的一些方法

通过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)

  运行后得到的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个密码是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))

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)

32
17
98
22
18

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Python可以使用众多库和函数来模拟生成各种类型的数据,以下是一些例子: 1. 生成随机数 可以使用random库中的函数来生成随机数,如下所示: ```python import random # 生成一个0到1之间的随机浮点数 random_number = random.random() print(random_number) # 生成一个指定范围内的随机整数 random_integer = random.randint(1, 100) print(random_integer) ``` 2. 生成随机字符串 可以使用string库中的ascii_letters和digits属性来生成随机字符串,如下所示: ```python import string import random # 生成一个包含10个随机字母和数字的字符串 random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=10)) print(random_string) ``` 3. 生成随机日期 可以使用datetime库中的datetime和timedelta类来生成随机日期,如下所示: ```python import datetime import random # 生成一个指定范围内的随机日期 start_date = datetime.date(2021, 1, 1) end_date = datetime.date(2021, 12, 31) time_delta = end_date - start_date random_date = start_date + datetime.timedelta(days=random.randint(0, time_delta.days)) print(random_date) ``` 4. 生成正态分布数据 可以使用numpy库中的random模块来生成正态分布数据,如下所示: ```python import numpy as np # 生成100个均值为0,标准差为1的正态分布随机数 mu, sigma = 0, 1 random_data = np.random.normal(mu, sigma, 100) print(random_data) ``` 以上只是一些常见的数据生成方法,还有很多其他的方法,可以根据需要选择合适的方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值