pandas中的cut函數問題
Hi,有兩個問題,想請教
1.關於pandas中的cut函數,查了 API 說明
得知參數 right 和 include_lowest 是設定區間用
若這樣設定可以得到一樣的答案
cut_rule = [0,1,3,6,10000]
app_train['CNT_CHILDREN_GROUP'] = pd.cut(app_train['CNT_CHILDREN'].values, cut_rule,include_lowest=True,right=False)
我想主要是因為沒有數據缺失造成的,但不懂的點是下面這個參數
include_lowest bool, default False
Whether the first interval should be left-inclusive or not.
這不是再說是否要包含在第一個區間的左邊值嗎?
那我上面的設定變成每一個區間左邊都會被包含
又解答的行為是完全按照API說明
cut_rule = [-np.inf, 0, 2, 5, np.inf]
app_train['CNT_CHILDREN_GROUP'] = pd.cut(app_train['CNT_CHILDREN'].values, cut_rule, include_lowest=True)
附上API網址
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html
2. 想問下面這兩個差別,算出來的數字會差一點點
app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: (x-x.mean())/x.std())
app_train['AMT_INCOME_TOTAL_Z_BY_CHILDREN_GRP-TARGET'] = grouped_df.apply(lambda x: (x-np.mean(x))/np.std(x))
謝謝回答
回答列表
-
2020/03/11 上午 00:05張維元 (WeiYuan)贊同數:0不贊同數:0留言數:1
嗨,
Whether the first interval should be left-inclusive or not. 的意思是說第一個區間左邊值會包含原始資料的最小值。一般來說每個區間都是不包含左邊,包含右邊。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/03/11 下午 01:00張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
嗨,這邊有個範例提供參考:
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃