logo
Loading...

clip(800, 2500)和取>800& <2500的差異 - Cupoy

不太懂這兩種選取方法的差異在哪裡?

clip(800, 2500)和取>800& <2500的差異

2020/03/07 上午 10:28
機器學習共學討論版
Morgan Lin
觀看數:9
回答數:3
收藏數:0

不太懂這兩種選取方法的差異在哪裡?

回答列表

  • 2020/03/07 上午 11:10
    Jeff Huang
    贊同數:3
    不贊同數:0
    留言數:0

    就我的理解,

    clip(800, 2500) 是把小於800的值改成800, 大於2500的值改成2500

    取>800 &  <2500, 就是只取 > 800 和 < 2500的值,

    所以用clip(800, 2500) , 取得的值總數量不會變, 

    但用取>800& <2500, 取得的數量可能會比較少

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

    嗨,


    Jeff 回答得正確的,這邊附上 clip 的文件Given an interval, values outside the interval are clipped to the interval edges. For example, if an interval of [0, 1] is specified, values smaller than 0 become 0, and values larger than 1 become 1.


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

  • 2020/03/10 下午 09:07
    Matthew Huang
    贊同數:0
    不贊同數:0
    留言數:0

    clip(800, 2500)=>截斷;(df['GrLivArea']> 800) & (df['GrLivArea']< 2500)=>抹除

    ------

    df['GrLivArea'].clip(800, 2500)的意思是,將'GrLivArea'中超過2500的視為2500,低於800的視為800,通俗點說就是在2500和800各砍一刀,去頭去尾留中間。可以用df['GrLivArea'].max()和df['GrLivArea'].min()確認clip(800, 2500)之前和之後的結果就知道了。


    使用df['GrLivArea'].clip(800, 2500)前:

    df['GrLivArea'].max() = 5642

    df['GrLivArea'].min() = 334

    df['GrLivArea'].shape = 1460


    使用df['GrLivArea'].clip(800, 2500)後:

    df['GrLivArea'].max() = 2500

    df['GrLivArea'].min() = 800

    df['GrLivArea'].shape = 1460

    ----------------

    (df['GrLivArea']> 800) & (df['GrLivArea']< 2500)是返回一段只由True和False組成的陣列如果該列有違反df['GrLivArea']> 800或者df['GrLivArea']< 2500任一個條件則判定False。接著我們透過df = df[keep_indexs]和train_Y = train_Y[keep_indexs],將被判定False的那幾個列全部刪掉(物理性的)。


    使用(df['GrLivArea']> 800) & (df['GrLivArea']< 2500)前:

    df['GrLivArea'].max() = 5642

    df['GrLivArea'].min() = 334

    df['GrLivArea'].shape = 1460


    使用(df['GrLivArea']> 800) & (df['GrLivArea']< 2500)後:

    df['GrLivArea'].max() = 2482

    df['GrLivArea'].min() = 803

    df['GrLivArea'].shape = 1344