簡體   English   中英

Python:Mask 正在用 NaN 替換列值

[英]Python: Mask is replacing column values with NaNs

我試圖用組均值替換 ~15000 列 [列 6:14844] 中的零,同時保留組 label 列 [列 1] 和其他幾個標識列 [列 2:5] 不變。 這是我想出的代碼,它有效,除了它用 NaN 替換了我想跳過 [1:5] 的列

df = df.mask(df.iloc[:, np.r_[1, 6:14844]].eq(0), df.iloc[:, np.r_[1, 6:14844]].groupby('group_label').transform('mean'))

提前致謝。

您只需要分配給列的子集,而不是整個 DataFrame。

df.iloc[:, 6:14844] = (df.iloc[:, 6:14844]
                         .mask(df.iloc[:, 6:14844].eq(0),
                               df.iloc[:, np.r_[1, 6:14844]]
                                 .groupby('group_label')
                                 .transform('mean')))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM