logo
Loading...

pandas中的cut函數問題 - Cupoy

Hi,有兩個問題,想請教1.關於pandas中的cut函數,查了 API 說明   得知參數 rig...

ml100-4,day013

pandas中的cut函數問題

2020/03/10 下午 09:53
機器學習共學討論版
Dave
觀看數:39
回答數:2
收藏數:1
ml100-4
day013

Hi,有兩個問題,想請教

1.關於pandas中的cut函數,查了 API 說明

   得知參數 right 和 include_lowest 是設定區間用

   若這樣設定可以得到一樣的答案


   cut_rule = [0,1,3,6,10000]  

   app_train['CNT_CHILDREN_GROUP'] = pd.cut(app_train['CNT_CHILDREN'].values, cut_rule,include_lowest=True,right=False)

   

   我想主要是因為沒有數據缺失造成的,但不懂的點是下面這個參數

include_lowest    bool, default False

    Whether the first interval should be left-inclusive or not.

   這不是再說是否要包含在第一個區間的左邊值嗎?

   那我上面的設定變成每一個區間左邊都會被包含


又解答的行為是完全按照API說明


cut_rule = [-np.inf, 0, 2, 5, np.inf]

app_train['CNT_CHILDREN_GROUP'] = pd.cut(app_train['CNT_CHILDREN'].values, cut_rule, include_lowest=True)


附上API網址

 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html 

  

2. 想問下面這兩個差別,算出來的數字會差一點點

app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: (x-x.mean())/x.std())


app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: (x-np.mean(x))/np.std(x))


謝謝回答 

回答列表

  • 2020/03/11 上午 00:05
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:1

    嗨,


    Whether the first interval should be left-inclusive or not. 的意思是說第一個區間左邊值會包含原始資料的最小值。一般來說每個區間都是不包含左邊,包含右邊。


    如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃

  • 2020/03/11 下午 01:00
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,這邊有個範例提供參考:



    如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃