logo
Loading...

pd.cut函數運算問題 - Cupoy

想請問一下在HW13中的第一題app_train['CNT_CHILDREN_GROUP'] = p...

pd.cut函數運算問題

2020/03/16 下午 07:38
機器學習共學討論版
吳盈昆
觀看數:26
回答數:2
收藏數:0

想請問一下在HW13中的第一題

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

在include_lowest=True這行中,我把True改成False之後再跑一次程式,發現結果是一樣的。想請問一下include_lowest=True這行的意義是什麼呢

回答列表

  • 2020/03/16 下午 11:33
    李子明
    贊同數:1
    不贊同數:0
    留言數:0

    請問你的cut_rule的內容是什麼?如果是IntervalIndex的話,懷疑會讓include_lowest失效,因為IntervalIndex有一個叫closed的參數統一決定所有組的區間行為。


    可以參考下面的例子,include_lowest就是字面義,最小組中的最小下限值要不要計入。

    src = [0,1,2,3,3,3,5,6,7]

    rule = [1,2,3,6]

    tmp = pd.cut(src, rule, include_lowest=True)

    print(tmp.value_counts())

    tmp = pd.cut(src, rule, include_lowest=False)

    print(tmp.value_counts())

    執行結果:

    (0.999, 2.0]    2
    (2.0, 3.0]      3
    (3.0, 6.0]      2
    dtype: int64
    (1, 2]    1
    (2, 3]    3
    (3, 6]    2
    dtype: int64

  • 2020/03/17 上午 01:04
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    這邊補充一下,pd.cut 用法是把一組數值的欄位,分成很多組。舉個例子,假如我們有 1,2,3,4,5,6 ,可能會想要把他們分成 (1,2)、(3,4)、(5,6) 三組。 除了 pd.cut 之外,有一個很類似的方法叫做 qcut,有興趣可以去比較看看。


    include_lowest 指的是,每一組的左邊界是否包含。


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