簡體   English   中英

Pandas:根據產品類型將零值和 NAN 值替換為平均值列

[英]Pandas: Replace zero and NAN values with column Mean depending on product type

我想用列 Mean 替換零和 NAN 值,但是,我希望代碼對與產品類型(AB 或 C)相關的平均值進行分類

總而言之,我有一個 pandas dataframe 共有 4 列。 其中一列指定 3 種產品類型之一:A、B 和 C。

每行有 3 個測量列。 我想將每列的 0 和 NAN 值替換為與產品類型相關的列平均值。 如下表:

因此,我想編寫一個允許軟件計算以下內容的語法:

產品 A 各列測量值 1,2 和 3 的平均值

產品 B 各列測量值 1,2 和 3 的平均值

產品 C 每個列測量值 1,2 和 3 的平均值

然后用各自計算的平均值替換 nan 和 zero 列值。 在此處輸入圖像描述

對於這樣的操作,我們可以使用以下代碼行:

df.fillna(df.mean(), inplace=True)

但是,這假定均值適用於列中的所有值,而不適用於另一列中定義的類別(這里是產品類型類別 A、B 和 C)

非常感謝您對此的幫助。 謝謝

讓我們嘗試使用groupby進行transform

df.fillna(df.groupby('PRODUCT TYPE').transform('mean'), inplace=True)

暫無
暫無

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

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