如何在python中创建具有不同数据类型的虚拟数据?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在python中创建具有不同数据类型的虚拟数据?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3311字,纯文字阅读大概需要5分钟。
内容图文
![如何在python中创建具有不同数据类型的虚拟数据?](/upload/InfoBanner/zyjiaocheng/805/b55d35df6fd34a80afecacef12b08001.jpg)
我正在尝试创建一个物流虚拟数据集,用于对数据进行一些分析和可能的预测.
Assumed variables are as follows:
VARIABLES RANGES
awb random number eg:235533
destination_city random cities
product different products
product_category different categories
origin_city random metro cities
logistics_provider_id id's eg:1,20,28,27
dispatch_date datetime between mar01-2015 to mar15-2015
final_delivery_status created,delivered,returned
actual_delivery_date datetime between mar16-2015 to mar30-2015
promised_delivery_date datetime between mar25-2015 to Apr6-2015
因此,从上面的变量假设我想在所提到的范围内创建虚拟数据.如何使用python创建虚拟数据
Expected output:
example_dummy_data:
awb destination_city product product_category
1 104842891 Byatarayanapura Wrangler Denim Jeans Men's Clothing
2 104842938 Bareilly Sky Blue Denim Men's Clothing
3 104842942 Saharanpur puma shoes Men's Footwear
4 104842943 Saharanpur classic puma shoes Men's Foorwear
5 104843066 Mumbai Elegant black belt Fashion Accessories
origin_city log_prov_id dispatch date final_del_status
1 Gurgaon 18 2014-09-02 00:26:11 DEL
2 Bangalore 19 2014-09-01 23:34:30 RTN
3 New Delhi 18 2014-09-01 18:59:41 RTC
4 New Delhi 15 2014-09-02 00:05:33 DEL
5 Hyderabad 16 2014-09-01 22:09:14 UDL
Actual_del_date promised_del_date
1 2014-09-03 00:00:00 2014-09-05 20:00:00
2 2014-09-04 00:00:00 2014-09-06 20:00:00
3 2014-09-04 00:00:00 2014-09-06 20:00:00
4 2014-09-04 00:00:00 2014-09-07 20:00:00
5 2014-09-02 00:00:00 2014-09-06 20:00:00
我想用上面的10000行创建数据,有没有最好的方法在上面提到的范围内创建
Tried:
import random
a = [int(10000*random.random()) for i in xrange(10000)]
找到了如何生成随机数但不能在我想要的范围和城市中生成.所以,请帮助我如何创建虚拟数据,就像我提到的10000行,在我提到的范围内.
解决方法:
faker软件包是为这种用例而构建的.它已经处理了名称,整数和日期,但您可能希望添加自己的产品和产品类别.
import pandas
from faker import Factory
import random
faker = Factory.create()
status = 'created,delivered,returned'.split(',')
def date_between(d1, d2):
f = '%b%d-%Y'
return faker.date_time_between_dates(datetime.strptime(d1, f), datetime.strptime(d2, f))
def fakerecord():
return {'awb': faker.numerify('######'), # random number eg:235533
'destination_city': faker.city(), # random cities
'product': 'random_product', # different products
'product_category': 'random_category', # different categories
'origin_city': faker.city(), # random metro cities
'logistics_provider_id': faker.numerify('##'), # id's eg:1,20,28,27
'dispatch_date': date_between('mar01-2015', 'mar15-2015'), # datetime between mar01-2015 to mar15-2015
'final_delivery_status': random.choice(status), # created,delivered,returned
'actual_delivery_date': date_between('mar16-2015', 'mar30-2015'), # datetime between mar16-2015 to mar30-2015
'promised_delivery_date': date_between('mar25-2015', 'apr06-2015'), # datetime between mar25-2015 to Apr6-2015
}
example_dummy_data = pandas.DataFrame([fakerecord() for _ in range(1000)])
内容总结
以上是互联网集市为您收集整理的如何在python中创建具有不同数据类型的虚拟数据?全部内容,希望文章能够帮你解决如何在python中创建具有不同数据类型的虚拟数据?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。