暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

pandas案例1:随机生成客户基本信息表

小样有样儿 2021-09-26
1675

点击上方蓝字(小样有样儿)关注我


背景及需求

某剧组在拍摄一部反映都市白领生活的电视剧,女一号Linda在一家公司做销售工作。

这天,她在公司整理客户数据,加班到很晚,有一个镜头需要拍摄她使用电脑整理客户资料的画面。

道具组负责这个客户资料表格的制作,由于影视作品是面向公众的,不能展示真实的用户资料,

现在需要道具组产出一个假的数据表格。 


代码

 import pandas as pd
 import faker
 
 # 创建随机客户信息表
 f = faker.Faker(locale="zh-cn") # 第一句
 df = pd.DataFrame({"客户姓名":[f.name() for i in range(5)], # 第二句
                  "年龄":[f.random_int(22,45) for i in range(5)],# 第三句
                  "联系电话":[f.phone_number() for i in range(5)],# 第四句
                  "最后去电时间":[f.date_between(start_date="-1y", end_date="today")
                            .strftime("%Y年%m月%d日") for i in range(5)],# 第五句
                  "意向":[f.random_element(("有","无")) for i in range(5)],# 第六句
                  "地址":[f.address() for i in range(5)] # 第七句
                  })                  

 df.to_excel("客户信息表.xlsx") # 第八句 

代码解释

  1. 使用的模块:pandas、faker

  2. 第一句:f = faker.Faker(locale="zh-cn")
    参数locale为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息(比如:名字,地址,邮编,城市,省份等)。

  3. 第二句:df = pd.DataFrame({"客户姓名":[f.name() for i in range(5)],
    使用pandas创建一个数据表,{}内容为创建一个字典,键值对为列名:每列随机生成的内容列表,fake.name()随机生成姓名列表,for i in range 5,随机生成五行数据。

  4. 第三句:"年龄":[f.random_int(22,45) for i in range(5)],
    fake.random_int()年龄产生于22-44之间的随机整数。

  5. 第四句:"联系电话":[f.phone_number() for i in range(5)],
    fake.phone_number()随机产生手机号。

  6. 第五句:"最后去电时间":[f.date_between(start_date="-1y", end_date="today") .strftime("%Y年%m月%d日") for i in range(5)],
    随机产生近一年内的日期并格式化为xxxx年x月x日。

    python中时间日期格式化符号:

    • %y 两位数的年份表示(00-99)

    • %Y 四位数的年份表示(000-9999)

    • %m 月份(01-12)

    • %d 月内中的一天(0-31)

    • %H 24小时制小时数(0-23)

    • %I 12小时制小时数(01-12)

    • %M 分钟数(00=59)

    • %S 秒(00-59)

    • %a 本地简化星期名称

    • %A 本地完整星期名称

    • %b 本地简化的月份名称

    • %B 本地完整的月份名称

    • %c 本地相应的日期表示和时间表示

    • %j 年内的一天(001-366)

    • %p 本地A.M.或P.M.的等价符

    • %U 一年中的星期数(00-53)星期天为星期的开始

    • %w 星期(0-6),星期天为星期的开始

    • %W 一年中的星期数(00-53)星期一为星期的开始

    • %x 本地相应的日期表示

    • %X 本地相应的时间表示

    • %Z 当前时区的名称

    • %% %号本身

  7. 第七句:"地址":[f.address() for i in range(5)]
    随机产生详细地址

  8. 第八句:df.to_excel("客户信息表.xlsx")
    导出到excel表,并命名为客户信息表.xlsx。 


输出效果

   客户姓名 年龄  联系电话       最后去电时间  意向           地址
 0   罗宇 27 18103346883 2021年05月06日 有   青海省金凤县华龙宁德路S座 705141
 1   陈玉 33 13716668462 2021年04月28日 有   天津市汕尾市浔阳武汉街U座 443199
 2   杨旭 34 15692597197 2021年02月13日 有   黑龙江省桂香市怀柔陈路G座 547033
 3 宋秀芳 30 15548556804 2021年07月12日 有 西藏自治区小红市城北拉萨路y座 247306
 4 杨红梅 22 15127704689 2021年02月15日 无   河北省海门市合川梧州路v座 970176



END




需要您的一个“在看”




文章转载自小样有样儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论