logo
Loading...

app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'] 使用~的意思 lambda是什麼? - Cupoy

1.先前有提到這兩個部分是將字串與整數插入左邊的字串,那下兩行紅字的部分2與3的意思是? f指的是f...

ml100-2,語法,ml100-2-d07

app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'] 使用~的意思 lambda是什麼?

2019/04/23 下午 10:51
機器學習共學討論版
Patrick Liou
觀看數:4
回答數:4
收藏數:0
ml100-2
語法
ml100-2-d07

1.先前有提到這兩個部分是將字串與整數插入左邊的字串,那下兩行紅字的部分2與3的意思是? f指的是function嗎?

print("Total images that we got: %i " % len(result))

print('Path of read in data: %s' % (f_app)) 中的 %s' % 是代表甚麼意思呢?


這個東西叫格式化字串,可以將你 "..." % (...) % 後面的變數插入 % 左邊的字串中。插入的位置就是 %S,%i 之類的,%S 是原本的變數是字串、%i 是原本的變數是整數。


print("MSE: %.2f" % np.mean((lr.predict(X_test_std) - y_test) ** 2))

print("Elapsed time: %.3f secs" % (time.time() - start_time))


2.np.median(app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'])

這行指的是在['AMT_ANNUITY']這個columns的不是NA值找出median,只是不太清楚加入~是甚麼意思


3.app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: ),lambda是甚麼,他的用法跟時機?


以上~謝謝

回答列表

  • 2019/04/23 下午 11:20
    仁傑潘
    贊同數:0
    不贊同數:0
    留言數:1

    路過

    1. 印出的數字到小數點後第二位及第三位

    2. 是布林的反向運算

  • 2019/04/24 上午 00:20
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    1.先前有提到這兩個部分是將字串與整數插入左邊的字串,那下兩行紅字的部分2與3的意思是? f指的是function嗎?


    print("MSE: %.2f" % np.mean((lr.predict(X_test_std) - y_test) ** 2))

    print("Elapsed time: %.3f secs" % (time.time() - start_time))


    => 這是格式化字串的用法,除了取代變數之外,也可以做格式調整,例如:%.2f 的意思是只要保留小數點後兩位。更多用法可以參考這裡:https://pyformat.info/


    不過格式化字串可以玩的技巧很多,建議先把基礎弄熟,比較閒的時候再來看看就好:)

  • 2019/04/24 上午 00:22
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    2.np.median(app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'])

    這行指的是在['AMT_ANNUITY']這個columns的不是NA值找出median,只是不太清楚加入~是甚麼意思


    => ~ 是反運算,會將原本的值 True/False 顛倒。


    app_train['AMT_ANNUITY'].isnull() => 是 Null 的欄位

    ~app_train['AMT_ANNUITY'].isnull() => 是 Null 的欄位

  • 2019/04/24 上午 00:23
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:1

    3.app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: ),lambda是甚麼,他的用法跟時機?


    => apply 跟 lambda 是搭配使用的,可以想成是對所有的欄位(apply)都做一樣的操作(lambda)

    lambda 是匿名函式,他的用法類似函式,以下兩種一樣的用法但不同寫法提供參考:


    ```

    # lambda Function

    lambda x: sum(x)


    # Function


    def f(x):

       return sum(x)

    ```


    這兩種寫法都是將 x 當作輸入參數,回傳 sum(x)。