logo
Loading...

Day7_HW : df[object_features].max() ? - Cupoy

解答提到, 只有 object 的 mean() 與 max() 會有問題,原因是文字無法進行平均或...

ml100-3,ml100-3-d07

Day7_HW : df[object_features].max() ?

2019/09/05 上午 01:22
機器學習共學討論版
jcodeboy
觀看數:111
回答數:3
收藏數:2
ml100-3
ml100-3-d07

解答提到, 只有 object 的 mean() 與 max() 會有問題,原因是文字無法進行平均或比較大小, 但可以發現,object 仍有部分欄位可傳回最大值,可以知道 object 欄位超過一定長度時會當成字串,此時會以字典順序做大小比較.

請問 : 

1.object 仍有部分欄位可傳回最大值 <--- 判斷依據是什麼,以此例來說, 'Cabin' & 'Embarked' 不行的原因是什麼?

2.object 欄位超過一定長度時會當成字串 <--- 長度是多少?

3.以字典順序做大小比較是什麼意思?

thanks!

回答列表

  • 2019/09/05 下午 00:11
    Wei-po Tsai
    贊同數:1
    不贊同數:0
    留言數:0

    Hi!同學你好:我是個剛學Python的新手,對你提到的問題很有興趣,所以研究了一下。


    'Cabin' & 'Embarked' 不行的原因是什麼?

    答:原因是Embarked數據中包含NaN值喔!我寫了以下說明,希望對你有幫助:

  • 2019/09/05 下午 08:27
    Ctyun
    贊同數:1
    不贊同數:0
    留言數:0

    哈囉,個人覺得答案有誤,看起來這邊object比大小行為跟python字串比大小行為一致,就是字串開頭字元的unicode/ASCII編碼大小,執行以下:

    di = {'I': ['azzz', 'Cadfqeqwfe', 'c'], 'II': ['我們', '你們', '他們']}

    df = pd.DataFrame(di)

    df[["I", "II"]].max()

    I      c

    II    我們

    dtype: object


    與python執行'a' 'C' 'c'的大小排序 & '我', '你', '他'的大小排序的結果相同

    補充:查看字元unicode編碼大小

    ord('a')

    ord('我')


    另外1不行的原因如同Tsai同學所說,不同型別之間(字串與nan)無法比大小

  • 2019/09/05 下午 09:41
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,樓上兩位同學的回答都很棒,值得好好讀。我印象中也是:object 比大小行為跟 python字串比大小行為一致,就是字串開頭字元的unicode/ASCII編碼大小