第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Pandas 中刪除具有標(biāo)準(zhǔn)偏差的組中的異常值?

在 Pandas 中刪除具有標(biāo)準(zhǔn)偏差的組中的異常值?

至尊寶的傳說(shuō) 2022-07-05 19:43:28
我有一個(gè) Pandas 數(shù)據(jù)框,我正在嘗試逐組刪除異常值。如果組中的每一行超出列的范圍,則將其視為異常值[group_mean - (group_std_dev * 3), group_mean + (group_std_dev * 3)]其中 group_mean 是組中列的平均值,group_std_dev 是組中列的標(biāo)準(zhǔn)差。我嘗試了以下熊貓鏈df.groupby(by='group').apply(lambda x: x[(x['col'].mean() - (x['col'].std() * 3)) < x['col'] < (x['col'].mean() - (x['col'].std() * 3)])但它似乎沒(méi)有工作,因?yàn)?Pandas 會(huì)在 apply 內(nèi)部進(jìn)行比較時(shí)引發(fā)以下錯(cuò)誤The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().該錯(cuò)誤對(duì)我來(lái)說(shuō)似乎沒(méi)有多大意義,因?yàn)楸容^應(yīng)該轉(zhuǎn)換為一系列布爾值,然后將其應(yīng)用于組 x?但是,僅通過(guò)上限或下限進(jìn)行過(guò)濾確實(shí)有效,例如df.groupby(by='group').apply(lambda x: x[(x['col'].mean() - (x['col'].std() * 3)) < x['col'])但我不確定如何將這些鏈接在一起。有沒(méi)有人對(duì)如何簡(jiǎn)單而干凈地實(shí)現(xiàn)這一點(diǎn)有任何想法?這對(duì)我來(lái)說(shuō)似乎并不難,但這里的其他帖子并沒(méi)有產(chǎn)生令人滿(mǎn)意或有效的答案。
查看完整描述

1 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

使用GroupBy.transformand Series.between,這樣更快:


groups = df.groupby('group')['col']

groups_mean = groups.transform('mean')

groups_std = groups.transform('std')

m = df['col'].between(groups_mean.sub(groups_std.mul(3)),

                      groups_mean.add(groups_std.mul(3)),

                      inclusive=False)

print(m)

new_df = df.loc[m]

When should I want to use apply


您的應(yīng)用代碼可能是:


df.groupby(by='group')['col'].apply(lambda x: x.lt( x.mean().add(x.std().mul(3)) ) & x.gt( x.mean().sub(x.std().mul(3)) ))



查看完整回答
反對(duì) 回復(fù) 2022-07-05
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)