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

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

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

    # (12)Miss Value

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

    df_miss = df.iloc[:, 0:3].apply(lambda x: np.sum(np.in1d(x, missSet))) ?# 遍歷每一個遍歷的缺失值情況,因為返回的是一個值,所以直接用apply遍歷


    查看全部
  • 1.統(tǒng)計指標示例-頻數(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)看出一些問題了

    ?

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

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

    ?

    # 和分位點的處理方法類似,不能直接用apply

    json_fre_name = {} ?# 名字

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

    ?

    ?

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

    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)計指標示例-分位點

    # (10)quantile value

    np.percentile(df.iloc[:, 0], (1, 5, 25, 50, 75, 95, 99)) ???# 第二個參數(shù)是分位點,這個設(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)) ?????# 去除缺失值后進行分位點計算

    ?

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

    json_quantile = {}

    ?

    # 不用擔(dān)心循環(huán)的效率,因為我們的列不會有很多,雖然樣本(行)數(shù)會很大,所以一般情況足夠用于我們進行數(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)計描述拼接起來,所以需要和之前的結(jié)果保持一致,需要做一下轉(zhuǎn)置,但是列名不一致,需要先調(diào)用columns把所有的列按順序發(fā)過去之后再轉(zhuǎn)置


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

    # (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)]) ??# 去除缺失值后進行最小值計算

    ?

    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)]) ??# 去除缺失值后進行最大值計算

    ?

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


    查看全部
  • 1.統(tǒng)計指標實例-眾數(shù)

    # (6)Mode Value

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

    ?

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


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

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

    ?

    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)]) ??# 去除缺失值后進行均值計算

    ?

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

    ?

    # (5)Median Value

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

    ?

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

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

    ?

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

    ??

    重點是如何去除缺失值。


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

    ##1.Basic Analysis##

    # (1)Missing Value

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

    ?

    # (2)Count distinct

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

    ?

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

    ?

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

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

    ?

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


    查看全部
  • 1.統(tǒng)計指標介紹:

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

    計數(shù)類

    缺失值/方差等

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


    查看全部
  • 1.數(shù)據(jù)獲?。篕aggle

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

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

    1.?數(shù)據(jù)讀?。?/p>

    ##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:存儲和處理大型矩陣,對數(shù)組向量化

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

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

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

    # coding:utf-8

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

    import numpy as np

    import pandas as pd

    from scipy import stats


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

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

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

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

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

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

    查看全部
    0 采集 收起 來源:1.2 案例介紹

    2019-08-15

  • 目標:

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

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

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

    大綱:

    ? 1.依賴包介紹

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

    ? 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ù)獲?。簁aggle

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

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

    查看全部
  • 目標:

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

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

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

    大綱:

    ? 1.依賴包介紹

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

    ? 3.特殊值描述值

    ? 4.缺失值

    ? 5.功能整合

    查看全部
  • 依賴包:

    ? 1.Numpy

    ? 2.Pandas

    ? 3.Scipy

    依賴包的導(dǎo)入

    例:

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

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

    ? import pandas as pd

    ? import numpy as np

    ? from scipy import stats

    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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