使用Python随机生成数据的一些方法
Posted 大彤小忆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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
以上是关于使用Python随机生成数据的一些方法的主要内容,如果未能解决你的问题,请参考以下文章