爱游夏夏 2023-02-08 23:00 采纳率: 66.7%
浏览 127
已结题

Python 数据处理- 给多个不同筛选条件分别打标签

需要对一个大概有5、6万行的公司(公司名没有重复,是唯一识别的key)的工商信息数据,包括企业地址、电话等进行整理,方便后续整理出公司的特征标签进一步去建模和分析。
我的解答思路和尝试过的方法(见附件示例):
  • 如果用excel,就是用pivot table ,对应筛选不同维度下多于一家公司的情况,如,某个电话号码下,有多于一家公司,就对这个电话手动打上标签—”一个电话号码有多家公司“、诸如此类,同一个地址下有多家公司就是”同一企业地址有多家公司“

img

样本数据表:

公司名称电话邮箱企业地址手动标签(额外根据Pivot标的不是源数据)
北京X1餐饮管理有限公司15810v999290486v4@qq.com北京市海淀区Xt平房同一地址多家公司
天津市南星区xx2餐饮管理服务部15810v99290486v4@qq.com天津市南开区ABCDEFG 731
北京X3有限公司777779999007xbtyb7@qq.com北京市顺义区&同一电话有多家公司共用
北京星餐饮发展有限公司0108*98591b90865b0@163.com北京市朝阳区X2号
北京风餐饮管理有限公司135&&199990135&&199990@qq.com北京市海淀区Xt平房同一地址多家公司
青岛肉餐饮有限公司77777999900青岛市1888号同一电话有多家公司共用,同一地址多家公司
青岛汪珠江路分公司135111199990None青岛市1888号同一地址多家公司
深圳市坪山区好大一家酒楼NoneNone深圳市坪山区aa号101同一地址多家公司
深圳热热闹闹酒家有限公司0755-9990055323634590909@qq.com深圳市坪山区aa号101同一电话有多家公司共用
深圳市味*vba餐饮管理有限公司1v90865v01v90865v0 @163.com深圳市龙岗区公园401-COCOPAR
深圳市品鉴赏好物餐饮管理有限公司NoneNone深圳市南山区流溪河大院同一地址多家公司
深圳市来又来不走餐饮有限公司NoneNone深圳市南山区流溪河大院同一地址多家公司
深圳市福田区俊*vnb酒楼NoneNone深圳市福田区南方公园同一地址多家公司
深圳市聚好价餐饮有限公司0755-9990055323227v876@qq.com深圳市福田区南方公园同一地址多家公司,同一电话有多家公司共用
深圳市巨便宜酒楼有限公司NoneNone深圳市光明区奉还工业大门
因为有几万行,excel操作也很繁琐,后面还要重复做好几次的抽样分析,所以希望求一个python的处理方法,便于后续批量操作,要求:各列分别分析,标签(即”同一电话多家公司共用“,分别生成单独的列),最后所有列统一到一个表格输出

  • 写回答

7条回答 默认 最新

  • Kappuccinno 2023-02-09 23:53
    关注

    实际上,一楼的回复可以更简单

    
    import pandas as pd
    
    df=pd.read_excel('sample.xlsx')
    #如果原数据有none,就把它替换成缺失(如果是题主仅在示例中加的,那就忽略该代码)
    df.replace('None',float('nan'),inplace=True)
    df['phone_label']=df.groupby('电话')['公司名称'].transform(lambda x:'同一电话有多家公司共用' if x.count()>1 else '')
    df['address_label']=df.groupby('企业地址')['公司名称'].transform(lambda x:'同一地址多家公司' if x.count()>1 else '')
    
    df.to_excel('sample.xlsx',index=False)
    
    

    这里生成的excel表仅仅给多个共用的打标签,否则单个的就不打了,为空白

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 已采纳回答 2月10日
  • 创建了问题 2月8日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改