99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀當(dāng)我用python爬了公司BD王同事的微信好友...
當(dāng)我用python爬了公司BD王同事的微信好友...
2022-01-20
收藏

當(dāng)我用python爬了公司BD王同事的微信好友...

某日,BD王同事找我聊天,聊著聊著就抱怨起來,這一年跑市場跑太猛了,工作微信的好友加到了5000人上限,只能換個雙微信的手機了,但是這個X剛買沒多久啊......5分鐘的嘮叨中,我只get到了一個重點,BD王居然有5000個微信好友??!如果這些好友信息用來分析下...于是...


首先獲得微信好友數(shù)據(jù):

1.安裝python

2.安裝itchat、jieba等包(pip install itchat)

3.獲取BD王的微信授權(quán)


4.將數(shù)據(jù)導(dǎo)入到DataFrame,并篩選出微信名、備注名、性別、省份、城市、個性簽名五個字段


5.看下數(shù)據(jù)的前五行


探索分析:

1.好奇看下BD王的微信好友是否真的有5000!結(jié)果發(fā)現(xiàn)有5006,不是上限5000嗎...


2.根據(jù)用戶習(xí)慣,微信名稱各式各樣的都有,而為了方便溝通,一般交流較多的好友都會設(shè)置備注。對BD王的微信好友進行統(tǒng)計,發(fā)現(xiàn)有34%的好友沒有設(shè)置備注,側(cè)面反映BD王雖然好友很多,但有一部分并沒有深入溝通,還有很大價值可以挖掘,繼續(xù)加油...PS:其中微信名稱為個人姓名,不需要修改備注的情況較少,本次將不考慮...


3.接下來分析下BD王的微信好友性別占比,以BD王堪比華北吳亦凡的相貌,女性好友數(shù)量占比應(yīng)該奇高,但是...結(jié)果如下圖!大數(shù)據(jù)相關(guān)崗位要求是有技術(shù)并且有良好的溝通能力,并且工作強度較大,男性從業(yè)人員數(shù)量是高于女性的。

4.接下來對BD王的微信好友地域分布進行分析,因為上篇文章被吐槽作圖太丑...這次嘗試使用Excel的Power Map插件中的三維地圖,發(fā)現(xiàn)BD王雖然人在北京,但上海、深圳、廣州、西安、成都、沈陽、武漢、杭州、南京等城市也勾搭了好多人,業(yè)務(wù)能力極強,該考慮漲工資了...這也反應(yīng)出目前大數(shù)據(jù)相關(guān)產(chǎn)業(yè)都集中在一二線城市,這些城市的人員對大數(shù)據(jù)的認知度和參與度更高。

上張圖主要是炫,具體咱們放大一點看看..

5.針對BD王的微信好友的個性簽名,做了詞云統(tǒng)計,看下他的朋友圈屬性是什么?生活、努力、自由、時間、夢想、自己...果然文藝青年的朋友圈是這樣紙的....積極向上的生活態(tài)度,可以推斷BD王的朋友年齡分布偏年輕,可以說大數(shù)據(jù)行業(yè)從業(yè)人員年輕化,公司有活力,將創(chuàng)造更大的價值。



6.我想建個模型...但是數(shù)據(jù)維度不夠用...這次就這樣吧...如果想交流數(shù)據(jù)分析可以加我微信18010116775看不看得到隨緣...

PS:會一些數(shù)據(jù)分析,會發(fā)現(xiàn)生活很有趣,如果想要學(xué)習(xí)數(shù)據(jù)分析技能,可以參加CDA數(shù)據(jù)分析就業(yè)班,三個月轉(zhuǎn)行數(shù)據(jù)分析師。點


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }