app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'] 使用~的意思 lambda是什麼?
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)。