第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python制作數(shù)據(jù)分析工具

Alex_Cen 產(chǎn)品經(jīng)理
難度初級(jí)
時(shí)長(zhǎng) 1小時(shí)10分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.17
20人評(píng)價(jià) 查看評(píng)價(jià)
9.2 內(nèi)容實(shí)用
9.1 簡(jiǎn)潔易懂
9.2 邏輯清晰
  • 1.統(tǒng)計(jì)指標(biāo)示例-缺失值

    # (12)Miss Value

    np.sum(np.in1d(df.iloc[:, 0], missSet)) ????# 統(tǒng)計(jì)缺失值

    df_miss = df.iloc[:, 0:3].apply(lambda x: np.sum(np.in1d(x, missSet))) ?# 遍歷每一個(gè)遍歷的缺失值情況,因?yàn)榉祷氐氖且粋€(gè)值,所以直接用apply遍歷


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)示例-頻數(shù)

    # (11)Frequent Value

    df.iloc[:, 0].value_counts().iloc[0:5, ] ?????# value_counts是pandas中dataframe的方法,顯示指定特征按照頻數(shù)由大到小排序,我們一般取前五位頻繁出現(xiàn)的值以及它的頻數(shù)

    # 至于選擇0:5還是0:10,根據(jù)業(yè)務(wù)定義,一般選取前五位就已經(jīng)看出一些問(wèn)題了

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ????# 去除缺失值

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)].value_counts()[0:5] ????# 去除缺失值后進(jìn)行頻數(shù)的統(tǒng)計(jì)

    ?

    # 和分位點(diǎn)的處理方法類似,不能直接用apply

    json_fre_name = {} ?# 名字

    json_fre_count = {} ????# 計(jì)數(shù)

    ?

    ?

    # 如果特征不夠5怎么辦?剩下的置空。有兩個(gè)目的:第一,定長(zhǎng),為了和前面的值一致;第二,留一些位置以便更好地拓展

    def fill_fre_top_5(x):

    ????if(len(x)) <= 5:

    ????????new_array = np.full(5, np.nan)

    ????????new_array[0:len(x)] = x

    ????????return new_array

    ?

    ?

    df['ind_var1_0'].value_counts() ??# 小于5

    df['imp_sal_var16_ult1'].value_counts() ???# 大于5

    ?

    for i, name in enumerate(df[['ind_var1_0', 'imp_sal_var16_ult1']].columns): ??# columns取其列名

    ????# 1.Index Name

    ????index_name = df[name][~np.in1d(df[name], missSet)].value_counts().iloc[0:5, ].index.values

    ????# 1.1 If the length of array is less than 5

    ????index_name = fill_fre_top_5(index_name)

    ?

    ????json_fre_name[name] = index_name

    ?

    ????# 2.Value Count

    ????values_count = df[name][~np.in1d(df[name], missSet)].value_counts().iloc[0:5, ].values

    ????# 2.1 If the length of array is less than 5

    ????values_count = fill_fre_top_5(values_count)

    ?

    ????json_fre_count[name] = values_count

    ?

    df_fre_name = pd.DataFrame(json_fre_name)[df[['ind_var1_0', 'imp_sal_var16_ult1']].columns].T ??# 為了保證格式一致

    df_fre_count = pd.DataFrame(json_fre_count)[df[['ind_var1_0', 'imp_sal_var16_ult1']].columns].T

    ?

    df_fre = pd.concat([df_fre_name, df_fre_count], axis=1) ????# concat合并


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)示例-分位點(diǎn)

    # (10)quantile value

    np.percentile(df.iloc[:, 0], (1, 5, 25, 50, 75, 95, 99)) ???# 第二個(gè)參數(shù)是分位點(diǎn),這個(gè)設(shè)置和用戶定義有關(guān)

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ????# 去除缺失值

    np.percentile(df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)], (1, 5, 25, 50, 75, 95, 99)) ?????# 去除缺失值后進(jìn)行分位點(diǎn)計(jì)算

    ?

    # 它沒(méi)法像df那樣做一個(gè)apply操作,apply返回的是一個(gè)數(shù)組,那么如何做呢?

    json_quantile = {}

    ?

    # 不用擔(dān)心循環(huán)的效率,因?yàn)槲覀兊牧胁粫?huì)有很多,雖然樣本(行)數(shù)會(huì)很大,所以一般情況足夠用于我們進(jìn)行數(shù)據(jù)分析了

    for i, name in enumerate(df.iloc[:, 0:3].columns):

    ????print('the {} columns: {}'.format(i, name))

    ????json_quantile[name] = np.percentile(df[name][~np.in1d(df[name], missSet)], (1, 5, 25, 50, 75, 95, 99))

    ?

    df_quantile = pd.DataFrame(json_quantile)[df.iloc[:, 0:3].columns].T ???# 為了和之前的統(tǒng)計(jì)描述拼接起來(lái),所以需要和之前的結(jié)果保持一致,需要做一下轉(zhuǎn)置,但是列名不一致,需要先調(diào)用columns把所有的列按順序發(fā)過(guò)去之后再轉(zhuǎn)置


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)示例-最小值/最大值

    # (8)Min Value

    np.min(df.iloc[:, 0])

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ????# 去除缺失值

    np.min(df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)]) ??# 去除缺失值后進(jìn)行最小值計(jì)算

    ?

    df_min = df.iloc[:, 0:3].apply(lambda x: np.min(x[~np.in1d(x, missSet)]))

    ?

    # (9)Max Value

    np.max(df.iloc[:, 0])

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ????# 去除缺失值

    np.max(df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)]) ??# 去除缺失值后進(jìn)行最大值計(jì)算

    ?

    df_max = df.iloc[:, 0:3].apply(lambda x: np.max(x[~np.in1d(x, missSet)]))


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)實(shí)例-眾數(shù)

    # (6)Mode Value

    df_mode = df.iloc[:, 0:3].apply(lambda x: stats.mode(x[~np.in1d(x, missSet)])[0][0]) ???# mode這個(gè)函數(shù)返回的是一個(gè)數(shù)組,對(duì)應(yīng)每一列出現(xiàn)頻率最高的數(shù)以及它出現(xiàn)的頻數(shù),[0][0]表示取的是這個(gè)數(shù)字

    ?

    # (7)Mode Percetage

    df_mode_count = df.iloc[:, 0:3].apply(lambda x: stats.mode(x[~np.in1d(x, missSet)])[1][0]) ??# [1][0]表示取的這個(gè)眾數(shù)出現(xiàn)的頻數(shù)

    ?

    df_mode_perct = df_mode_count/df.shape[0] ??????# df.shape[0]確定有多少個(gè)樣本


    查看全部
  • 1.# (4)Mean Value

    np.mean(df.iloc[:, 0]) ??# 沒(méi)有去除缺失值之前的均值很低

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ???# 去除缺失值,np.in1d(df.iloc[:, 0], missSet)找到缺失值的位置,是缺失值返回true,但我們要找的是去除缺失值之后的數(shù)據(jù)

    np.mean(df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)]) ??# 去除缺失值后進(jìn)行均值計(jì)算

    ?

    df_mean = df.iloc[:, 0:3].apply(lambda x: np.mean(x[~np.in1d(x, missSet)]))

    ?

    # (5)Median Value

    np.median(df.iloc[:, 0]) ???# 沒(méi)有去除缺失值之前

    ?

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)] ????# 去除缺失值

    np.median(df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)]) ?????# 去除缺失值后進(jìn)行計(jì)算

    ?

    df_median = df.iloc[:, 0:3].apply(lambda x: np.median(x[~np.in1d(x, missSet)]))

    ??

    重點(diǎn)是如何去除缺失值。


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)示例-計(jì)數(shù)類

    ##1.Basic Analysis##

    # (1)Missing Value

    missSet = [np.nan, 9999999999, -999999] ????# np.nan是numpy中缺失值的表示,后面兩個(gè)數(shù)是分析得到的缺失值

    ?

    # (2)Count distinct

    len(df.iloc[:, 0].unique()) ????# df.iloc[:, 0]取第一列,unique()看這一列哪些不同的值,返回一個(gè)類似數(shù)組,然后len看有多少個(gè)

    ?

    count_un = df.iloc[:, 0:3].apply(lambda x: len(x.unique())) ?# df.iloc[:, 0:3]取前三列,apply用于遍歷,看看前三列每一列有多少個(gè)不同的值

    ?

    # (3)Zero Value ?看看每一列有多少個(gè)值為0

    np.sum(df.iloc[:, 0] == 0)

    ?

    count_zero = df.iloc[:, 0:3].apply(lambda x: np.sum(x == 0))


    查看全部
  • 1.統(tǒng)計(jì)指標(biāo)介紹:

    均值/中位數(shù)/最大值/最小值等

    計(jì)數(shù)類

    缺失值/方差等

    分位點(diǎn)(值的分布)/值的頻數(shù)等


    查看全部
  • 1.數(shù)據(jù)獲取:Kaggle

    https://img1.sycdn.imooc.com//5d54d2bf0001036a06890287.jpg

    Santander銀行希望對(duì)滿意和不滿意的用戶進(jìn)行分類。背景是它存在一些潛在的不滿意的用戶,但無(wú)法提前知道。假如我們能提前知道的話,就可以提前為他們做好服務(wù)。我們需要通過(guò)它提供的用戶的行為特征和問(wèn)卷調(diào)查得出的因變量來(lái)構(gòu)建一個(gè)模型,使用這個(gè)模型來(lái)盡早找到不滿意的用戶。這就是Kaggle比賽的背景。

    1.?數(shù)據(jù)讀取:

    ##0.Read Data##

    df = pd.read_csv("./data/train.csv")?????????# 將數(shù)據(jù)文件讀到內(nèi)存中

    label = df['TARGET']????????# 將數(shù)據(jù)集中TARGET列賦值給label

    df = df.drop(['ID','TARGET'],axis=1)???????# 刪除數(shù)據(jù)集中ID、TARGET兩列


    查看全部
  • 1.依賴包包括:

    Numpy:存儲(chǔ)和處理大型矩陣,對(duì)數(shù)組向量化

    Pandas:把數(shù)據(jù)讀成dataframe形式,讀寫

    Scipy:計(jì)算函數(shù)、眾數(shù)等

    2.依賴包的導(dǎo)入:

    # coding:utf-8

    from __future__ import division ???????????# 確保一個(gè)數(shù)除以另外一個(gè)數(shù)不等于0,會(huì)返回一個(gè)浮點(diǎn)型的數(shù),另外一種方法是使分母和分子做類型轉(zhuǎn)換

    import numpy as np

    import pandas as pd

    from scipy import stats


    查看全部
    0 采集 收起 來(lái)源:2.1 依賴包的介紹

    2019-08-15

  • 1.?數(shù)據(jù)診斷的目的:

    1)?了解特征的分布,缺失和異常等情況。(了解了這些情況我們才能更好地做特征工程和數(shù)據(jù)預(yù)處理)

    https://img1.sycdn.imooc.com//5d54c6a600014a7505530196.jpg

    2)統(tǒng)計(jì)指標(biāo)可直接用于數(shù)據(jù)預(yù)處理

    數(shù)據(jù)預(yù)處理就是指比如說(shuō)特征缺失值的填充,缺失值的填充是建模常用的手段。填充的目的有很多。在填充的時(shí)候大家一般會(huì)采用很多種辦法。比如填一個(gè)0,-1,1這種常值進(jìn)去,但是更多的人可能會(huì)填一些統(tǒng)計(jì)值,比如說(shuō)中位數(shù)、眾數(shù)這樣的值進(jìn)去。如果要用這種方法填數(shù)的話,一般需要對(duì)特征值重新計(jì)算一遍,如果每次都計(jì)算的話,這樣會(huì)影響整個(gè)模型的效率。更好的辦法:就是可以從前面預(yù)處理的過(guò)程和結(jié)果中把中位數(shù)和眾數(shù)取到,直接填到缺失里面去,這樣可以減少運(yùn)行計(jì)算時(shí)間,因?yàn)槲覀冎恍枰崛?,不需要?jì)算,這樣的話會(huì)減少耗時(shí)。除了這個(gè)以外,我們也有很多的判斷,比如數(shù)缺失值的比例,眾數(shù)的比例,也是形容特征工程的一個(gè)環(huán)節(jié)。當(dāng)我們整個(gè)建模的流程形成之后,這些數(shù)據(jù)診斷的結(jié)果也可以起到判斷的作用。

    https://img1.sycdn.imooc.com//5d54c6c10001616606980254.jpg

    查看全部
    0 采集 收起 來(lái)源:1.2 案例介紹

    2019-08-15

  • 目標(biāo):

    ? 1.掌握數(shù)據(jù)的統(tǒng)計(jì)指標(biāo)

    ? 2.利用Python制作數(shù)據(jù)診斷工具

    ? 3.數(shù)據(jù)診斷工具的應(yīng)用與測(cè)試

    大綱:

    ? 1.依賴包介紹

    ? 2.基本描述統(tǒng)計(jì)值

    ? 3.特殊值描述值

    ? 4.缺失值

    ? 5.功能整合


    查看全部
  • ##0.Read Data##

    df = pd.read_csv("./data/train.csv")

    label = df['TARGET']

    df = df.drop(['ID','TARGET'],axis=1)

    查看全部
  • 數(shù)據(jù)獲取與讀取

    ? 1.數(shù)據(jù)獲取:kaggle

    ? 2.數(shù)據(jù)讀取

    ? 數(shù)據(jù)鏈接:http://www.kaggle.com/c/santander-customer-satisfaction

    查看全部
  • 目標(biāo):

    ? 1.掌握數(shù)據(jù)的統(tǒng)計(jì)指標(biāo)

    ? 2.利用Python制作數(shù)據(jù)診斷工具

    ? 3.數(shù)據(jù)診斷工具的應(yīng)用與測(cè)試

    大綱:

    ? 1.依賴包介紹

    ? 2.基本描述統(tǒng)計(jì)值

    ? 3.特殊值描述值

    ? 4.缺失值

    ? 5.功能整合

    查看全部
  • 依賴包:

    ? 1.Numpy

    ? 2.Pandas

    ? 3.Scipy

    依賴包的導(dǎo)入

    例:

    ? #-*-coding:utf-8-*-

    ? from __future__ import division? #為了避免一個(gè)數(shù)除以另一個(gè)數(shù)不為0

    ? import pandas as pd

    ? import numpy as np

    ? from scipy import stats

    查看全部
    0 采集 收起 來(lái)源:2.1 依賴包的介紹

    2019-03-19

舉報(bào)

0/150
提交
取消
課程須知
適合人群:希望從傳統(tǒng)分析人員轉(zhuǎn)型到數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)領(lǐng)域的人員;技術(shù)儲(chǔ)備:python基本知識(shí),統(tǒng)計(jì)學(xué)基本知識(shí)
老師告訴你能學(xué)到什么?
1.用Python制作一個(gè)高效的數(shù)據(jù)診斷工具; 2.數(shù)據(jù)診斷的各種指標(biāo);

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!