数据分析-38-关于互联网企业黑名单的探索

论文辅导算法学习可以滴滴我


文章目录

    • 项目介绍
    • 表和字典描述
    • 1、读取数据
    • 2、查看黑名单公司主要来自哪些城市
    • 3、查看黑榜公司分布城市
    • 4、存在的问题
    • 5、查看存在问题分类

项目介绍

在数字化的时代,信息的力量不言而喻,尤其当我们面临职业选择时。是一个开放源代码项目,旨在收集并分享全球范围内存在争议或不良工作环境的IT公司名单,帮助求职者做出更为明智的职业决策。

表和字典描述

该数据集互联网企业黑名单.csv,一共有839条。

8个字段,分别是:公司名字评论链接存在问题详细描述所在城市发布时间评论数浏览数

表数据如下:
在这里插入图片描述

1、读取数据

import pandas as pd
import numpy as np
from warnings import filterwarnings
filterwarnings('ignore')
df1 = pd.read_csv(r'互联网企业黑名单.csv')

查看数据的行数和列数

df1.shape

(838, 8)

查看数据的列名

df1.columns
# 提取浏览次数
import re
df1['浏览数_d'] = df1['浏览数'].apply(lambda x : re.findall(r'\d+',x)[0])
print('黑名单上共有 {}家公司'.format(df1['公司名字'].nunique()))
print('数据日期从 {} 至 {}'.format(df1['发布时间'].min(),df1['发布时间'].max()))
print('黑榜公司共来自全国 {} 个城市'.format(df1['所在城市'].nunique()))
print('浏览次数最多的公司是:\n{}'.format(df1[df1['浏览数_d']==df1['浏览数_d'].max()].公司名字.tolist()))

在这里插入图片描述

2、查看黑名单公司主要来自哪些城市

from pyecharts.charts import Bar,Grid,Map
from pyecharts.commons.utils import JsCode
from pyecharts import options as opts
from pyecharts.globals import SymbolType
df1['所在城市'].fillna('城都市',inplace = True)
result = df1['所在城市'].value_counts().reset_index(name = '公司数量')
result['index'] = result['index'].str.replace('市','')
x_data = result['index'].tolist()
y_data = result['公司数量'].tolist()

bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis("", y_data)
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=65)),
        title_opts=opts.TitleOpts(title="黑名单公司主要来自哪些城市"),
    )
    .set_series_opts(
        itemstyle_opts={
            "normal": {
                "color": JsCode(
                    """new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: 'rgba(131, 96, 195, 1)'
            }, {
                offset: 1,
                color: 'rgba(46, 191, 195, 1)'
            }], false)"""
                ),
                "barBorderRadius": [30, 30, 1, 1],
                "shadowColor": "rgb(0, 160, 221)",
            }
        }
    )
)
bar.render_notebook()

在这里插入图片描述

3、查看黑榜公司分布城市

# 地图
map1 = Map()
map1.add('',[list(z) for z in zip(x_data, y_data)],
         maptype='china-cities',is_map_symbol_show=False,
        ) 
map1.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
map1.set_global_opts(title_opts=opts.TitleOpts(title='黑榜公司分布城市'),
                     visualmap_opts=opts.VisualMapOpts( max_=df1['所在城市'].value_counts().max(),
                                                       is_piecewise=False,range_color=['#12c2e9','#c471ed','#f64f59']
                                                  ),
                    )

map1.render_notebook()

在这里插入图片描述

4、存在的问题

df1['存在问题'] = df1['存在问题'].str.replace('1.单休','单休').str.replace('2.习惯性拖技术部工资','习惯性拖技术部工资').str.replace('3.老板脾气爆','老板脾气爆')
ls = [',',',',';',' ']
for s in ls:
    df1['存在问题'] = df1['存在问题'].str.replace(s,'/')
from collections import Counter
cause = df1['存在问题'].tolist()
lst = []
lit = []
for s in cause:
    s = s.split('/')
    lst.append(s)
    for x in s:
        lit.append(x)
cause_ct = Counter(lit)

data_c = pd.DataFrame.from_dict(cause_ct,orient='index').reset_index()
data_c.columns = ['存在问题','出现次数']
data_c.sort_values('出现次数',ascending = False,inplace = True)
from pyecharts.charts import WordCloud

x_data = data_c['存在问题'].tolist()
y_data = data_c['出现次数'].tolist()

(
    WordCloud()
    .add(" ", [list(z) for z in zip(x_data, y_data)])
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="存在的问题", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
        ),
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
).render_notebook()

在这里插入图片描述

由于996 ,007 ,9107等都是上班时长,实际是加班问题,对此类标签统一做个大的分类再进行统计

5、查看存在问题分类

data_n = pd.DataFrame(lit,columns = ['问题标签'])

def frame(x):
    if "996" in x or "工作时间9/6" in x:
        return "996"
    elif "995" in x:
        return "995"
    elif "897" in x:
        return "897"
    elif "单休" in x:
        return "单休"
    elif "9107" in x:
        return "9107"
    elif "9116" in x:
        return "9116"
    elif "007" in x:
        return "007"
    elif "加班" in x:
        return "加班"
    elif "福利差" in x :
        return "福利差"
    elif "社保" in x or "不交五险" in x  or "五险不交" in x:
        return "社保问题"
    elif "薪" in x or "工资" in x or "赖账"in x or "坑钱" in x:
        return "拖欠工资"
    elif "老板" in x or "领导" in x or "管理" in x or "高层" in x:
        return "领导问题"
    elif "画饼" in x or "画大饼" in x or "忽悠" in x or "洗脑" in x:
        return "画饼"
    elif "裁员"in x or "过河拆桥"in x or "辞退" in x:
        return "裁员"
    else:
        return x

data_n['问题分类'] = data_n['问题标签'].apply(lambda x : frame(x))
data_n['问题大类'] = data_n['问题分类'].apply(lambda x : "加班问题" if "996" in x or "工作时间9/6" in x or "995" in x
or "897" in x or "9107" in x or "9116" in x or "007" in x or "加班" in x else x)
x_data = data_n['问题大类'].value_counts().index.tolist()
y_data = data_n['问题大类'].value_counts().values.tolist()

(
    WordCloud()
    .add(" ", [list(z) for z in zip(x_data, y_data)],word_size_range=[20, 100], shape=SymbolType.DIAMOND)
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="分类-存在的问题", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
        ),
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
).render_notebook()

在这里插入图片描述

黑榜公司上榜除了是因为“网传黑名单”以及“单位性质培训”等两个原因外,大家最不能接受的原因是“拖欠工资”以及“加班问题”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/903453.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文略读:Can We Edit Factual Knowledge by In-Context Learning?

EMNLP 2023 第一个探索in-context learning在语言模型知识编辑方便的效果 传统的知识编辑方法通过在包含特定知识的文本上进行微调来改进 LLMs 随着模型规模的增加,这些基于梯度的方法会带来巨大的计算成本->论文提出了上下文知识编辑(IKE&#xff0…

鼠标事件与webGl坐标系

弯道超车: 盒子模型: 又称CSS 盒模型,包含content、padding、border 和 margin 四个部分。 clientWidth、scrollWidth、offsetWidth之间的区别: offsetWidth:包含内容、padding、border 和滚动条的宽度(如果…

Camp4-L0:Linux 前置基础

书生浦语大模型实战营Camp4-L0:Linux前置基础 教程地址:https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/linux任务地址:https://github.com/InternLM/Tutorial/blob/camp4/docs/L0/linux/task.md 任务描述完成所需时间闯关任务完成SSH连接与…

「虚拟现实中的心理咨询:探索心灵世界的新方法」

内容概要 当我们想到虚拟现实时,很多人会联想到游戏或娱乐,但如今其在心理咨询领域的应用正在逐渐崭露头角。传统的心理咨询方式常常局限在咨询室内,面临着空间和情感隔阂的问题。然而,沉浸式环境的出现,使得治疗者能…

python:ADB通过包名打开应用

一、依赖库 os 二、命令 1.这是查看设备中所有应用包名的最简单方法。只需在命令行中输入以下命令: adb shell pm list packages 2.打印启动的程序包名 adb shell am monitor回车,然后启动你想要获取包名的那个应用,即可获得 3.查看正在运…

【面试每日一题之CSS】2、line-height和heigh区别

line-height和heigh区别 前言1、试题分析讲解2、代码模块眼见为实3、效果对比 前言 随着就业形式的压力,很多人都可能面临着待业,再就业的情况,那么在乾坤未定之际好好的丰实自己的羽翼吧,没有啥比壮大自己重要,所以我…

ICLR25初审稿按照自己喜好整理自己需要的(逐渐更新)

ICLR25初审稿按照自己喜好整理自己需要的(逐渐更新) 光谱GNN合集(10.29初筛) 数据集 大类数据集名称pygcora ,citeseer ,pubmed,cornell,texas,wisconsin,flickr,reddit,actor,ph…

QT实时显示日志内容

性能有待提高; 能够读取指定目录下的日志文件,显示在下拉框中。 选择某一个日志之后,点击获取数据按钮,能够实时刷新日志内容。 但是每次刷新都会对整个文件进行读取,文本框重新加载文本。效率很低,影响性能…

服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例

服务器数据恢复环境: 某品牌服务器同品牌存储,Linux centos7EXT4文件系统。 服务器故障: 意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区&#xff…

驾校管理系统|基于java和小程序的驾校管理系统设计与实现(源码+数据库+文档)

驾校管理系统平台 目录 基于java和小程序的驾校管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#…

GaussDB高智能--自治运维技术(下)

书接上文GaussDB高智能--自治运维技术(中),从日志分析、慢SQL发现、慢SQL诊断、集群故障根因诊断等方面介绍了GaussDB的自治运维技术,本篇将从索引推荐、分布键推荐、参数调优等三方面继续解读GaussDB的自治运维技术。 8 索引推荐…

【Linux】基础IO-下

目录 1、重定向 2、缓冲区 3、简单模拟实现C文件标准库 1、重定向 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <string.h>#define filename "log.txt&qu…

Java(三十) --- 基于比较的七大比较的排序算法(巨详细)

文章目录 前言1. 排序的概念和引用2.直接插入排序3.希尔排序(缩小增量排序)4. 直接选择排序5. 堆排序6. 冒泡排序7.快速排序7.1.Hoare法7.2.挖坑法7.3.快速排序的优化7.4.非递归方法 8.归并排序8.1.递归方法8.2.非递归方法8.3 海量数据的排序问题 9. 七大比较排序的复杂度以及稳…

构建安全基石:网络安全等级保护定级指南

在数字化时代&#xff0c;网络安全已成为企业与个人不可忽视的重要课题。网络安全等级保护定级指南&#xff0c;作为国家指导网络安全保护的重要文件&#xff0c;为各类机构提供了精准的安全防护蓝图。本文旨在深度解析网络安全等级保护定级指南的精髓&#xff0c;助力建构全面…

Docker-在Centos中部署Shell脚本获取镜像并构建容器

环境准备 1.Centos 7系统 参考&#xff1a;Centos安装 2.demo镜像推送到阿里云 参考demo镜像推送到阿里云 Centos操作 1.修改demo中相关配置springboot-docker-demo\bin\docker-deploy.sh ## 仓库地址 REGISTRY_SERVER公有网络域名 ## 用户名 USERNAME阿里云账号 ## 密码 P…

背包问题全解

文章目录 01背包一、01背包模板二、采药三、装箱问题四、宠物小精灵之收服五、数字组合 完全背包六、完全背包模板七、买书八、货币系统&#xff08;简单版&#xff09;九、货币系统&#xff08;进阶版&#xff09; 01背包 一、01背包模板 还有个疑惑&#xff0c;为什么最大价…

【高阶数据结构】红黑树的插入(超多精美图解+完整代码)

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《高阶数据结构》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多《高阶数据结构》点击专栏链接查看&a…

51单片机应用开发(进阶)---外部中断(按键+数码管显示0-F)

实现目标 1、巩固数码管、外部中断知识 2、具体实现&#xff1a;按键K4&#xff08;INT1&#xff09;每按一次&#xff0c;数码管从0依次递增显示至F&#xff0c;再按则循环显示。 一、共阳数码管 1.1 共阳数码管结构 1.2 共阳数码管码表 共阳不带小数点0-F段码为&#xff…

MacOS上Homebrew 安装、配置、更改国内镜像源及使用教程

Homebrew笔记 1. 介绍 官网&#xff1a;https://brew.sh/ 对于习惯了使用命令来完成一切的程序员来说&#xff0c;安装软件这种小事&#xff0c;自然是能够用命令解决&#xff0c;就不用图形界面选择。但是在 Linux 中&#xff0c;我们有 yum、apt、dnf、pkg等命令来完成软件的…

LeetCode 热题 100之链表1

1.相交链表 思路分析&#xff08;直接上双指针&#xff09;&#xff1a; 初始化两个指针&#xff0c;分别指向两个链表的头节点 headA 和 headB遍历两个链表&#xff0c;当指针到达链表的末尾时&#xff0c;将指针移动到另一个链表的头部 如果链表相交&#xff0c;两个指针会在…