我想用Mean列替换零和NAN值,但是,我希望代码根据产品类型(A B或C)对均值进行分类
总而言之,我有一个熊猫数据框,共有4列。列之一指定三种产品类型之一:A,B和C。
每行有3个测量列。我想将每列的0和NAN值替换为相对于产品类型的列均值。表格如下:
因此,我想编写一种语法,使该软件可以计算以下内容:
乘积A分别用于列1,2和3的平均值
乘积B分别用于列1,2和3的平均值
乘积C分别用于列1,2和3的平均值
对于这样的操作,我们可以使用以下代码行:
df.fillna(df.mean(), inplace=True)
但这是假设平均值适用于该列中的所有值,而不是针对另一列中定义的类别(此处为产品类型类别A,B和C)
非常感谢您的帮助。谢谢
答案 0 :(得分:1)
让我们尝试transform
与groupby
df.fillna(df.groupby('PRODUCT TYPE').transform('mean'), inplace=True)