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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代 數(shù)據(jù)分析師教程《Python數(shù)據(jù)分析極簡入門》第2節(jié) 8-1 Pandas 數(shù)據(jù)重塑 - 數(shù)據(jù)堆疊
數(shù)據(jù)分析師教程《Python數(shù)據(jù)分析極簡入門》第2節(jié) 8-1 Pandas 數(shù)據(jù)重塑 - 數(shù)據(jù)堆疊
2024-08-27
收藏

《Python數(shù)據(jù)分析極簡入門》

第2節(jié) 8-2 Pandas 數(shù)據(jù)重塑 - 數(shù)據(jù)堆疊

數(shù)據(jù)堆疊

df = pd.DataFrame({'專業(yè)': np.repeat(['數(shù)學(xué)與應(yīng)用數(shù)學(xué)''計算機''統(tǒng)計學(xué)','物理學(xué)'], 6),
                   '班級': ['1班','2班','3班']*8,
                   '科目': ['高數(shù)''線代'] * 12,
                   '平均分': [random.randint(60,100for i in range(24)],
                   '及格人數(shù)': [random.randint(30,50for i in range(24)]})

df2 = pd.pivot_table(df, index=['專業(yè)','科目'],  values=['及格人數(shù)','平均分'],
               aggfunc={'及格人數(shù)':np.sum,"平均分":np.mean})
df2
及格人數(shù) 平均分
專業(yè) 科目
數(shù)學(xué)與應(yīng)用數(shù)學(xué) 線代 107 76.000000
高數(shù) 107 65.000000
物理學(xué) 線代 111 82.333333
高數(shù) 115 78.666667
統(tǒng)計學(xué) 線代 107 71.000000
高數(shù) 122 74.000000
計算機 線代 122 78.333333
高數(shù) 137 74.000000
stacked = df2.stack()

壓縮”后的DataFrameSeries(具有MultiIndex作為索引), stack() 的逆操作是unstack(),默認情況下取消最后壓縮的那個級別:

堆疊stack(),顧名思義就是把透視結(jié)果堆到一起。接下來我們把透視后堆疊的數(shù)據(jù)一步步展開unstack()

stacked.unstack()
及格人數(shù) 平均分
專業(yè) 科目
數(shù)學(xué)與應(yīng)用數(shù)學(xué) 線代 107.0 76.000000
高數(shù) 107.0 65.000000
物理學(xué) 線代 111.0 82.333333
高數(shù) 115.0 78.666667
統(tǒng)計學(xué) 線代 107.0 71.000000
高數(shù) 122.0 74.000000
計算機 線代 122.0 78.333333
高數(shù) 137.0 74.000000
stacked.unstack(level=1)
科目 線代 高數(shù)
專業(yè)
數(shù)學(xué)與應(yīng)用數(shù)學(xué) 及格人數(shù) 107.000000 107.000000
平均分 76.000000 65.000000
物理學(xué) 及格人數(shù) 111.000000 115.000000
平均分 82.333333 78.666667
統(tǒng)計學(xué) 及格人數(shù) 107.000000 122.000000
平均分 71.000000 74.000000
計算機 及格人數(shù) 122.000000 137.000000
平均分 78.333333 74.000000
stacked.unstack(level=0)
專業(yè) 數(shù)學(xué)與應(yīng)用數(shù)學(xué) 物理學(xué) 統(tǒng)計學(xué) 計算機
科目
線代 及格人數(shù) 107.0 111.000000 107.0 122.000000
平均分 76.0 82.333333 71.0 78.333333
高數(shù) 及格人數(shù) 107.0 115.000000 122.0 137.000000
平均分 65.0 78.666667 74.0 74.000000

數(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); }