分享至
大家好:附圖是某個字詞檔案,index欄位是字詞,我想要以列為單位,抓出>0的值,計算平均值,如第一列的均值應該是0.0343731,但目前code只能算整列平均值
test['均值'] = test.mean(axis=1)
已邀請的邦友 {{ invite_list.length }}/5
data['sum'] = data.sum(axis=1) / data.apply(lambda x: x != 0, axis=1).sum(axis=1)
先加總然後除以不為0的個數就好。
喔~了解惹,原來邏輯是這樣,已成功,感謝~
所以apply配上lamda就會是:lamda類似if,挑出不為0,apply類似for迴圈,重複運算是這樣嗎
lambda 是匿名函數,你可以把apply當成類似map,也就是下面這樣:
a = [0, 0, 0.3] print(list(map(lambda x: x !=0, a))) # 結果是 [False, False, True]
然後再加總,因為python會把False視為0,所以加總的只有True的個數
喔~懂了~ 非常感謝!!!!
IT邦幫忙