cumsum與loc的使用方式
2019/05/14 下午 11:51
機器學習共學討論版
陳昱叡
觀看數:19
回答數:2
收藏數:0
ml100-2
ml100-2-d06
1.在hw中,看到有人用下面這種方式來做cdf
cdf = app_train['AMT_INCOME_TOTAL'].value_counts().sort_index().cumsum()
請問 數值計數.排序.cumsum 的.cumsum是在做甚麼?
2.在最後的loc部分
app_train.loc[loc_a, loc_b].hist()
為什麼不是app_train[loc_a, loc_b].hist() 是因為後面有條件判斷([loc_a, loc_b])嗎?
回答列表
-
2019/05/15 下午 10:00Seanyu.TW贊同數:0不贊同數:0留言數:0
Hi,
1. cumsum 指的是 cumulative sum, 比方說假如有 vec = np.array([1,2,3]),則 cumsum(vec) 會等於 [1, 3, 6]
2. 參考方式如下
loc_a = app_train["OBS_60_CNT_SOCIAL_CIRCLE"] <= 20
loc_b = "OBS_60_CNT_SOCIAL_CIRCLE"
app_train.loc[loc_a, loc_b].hist() plt.show() # 原本的做法
app_train[loc_a][loc_b].hist() # 你可能希望的做法兩個方法都是可行的。
-
2019/05/16 下午 03:22張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
2.在最後的loc部分
app_train.loc[loc_a, loc_b].hist()
為什麼不是app_train[loc_a, loc_b].hist() 是因為後面有條件判斷([loc_a, loc_b])嗎?
=> loc 是 df 的一種取資料方法,可以用來同時設定「Row」&「Column」的篩選。類似的用法還有 iloc 跟 ix。