以上数据框有9个不同类别的9个产品。这些产品的特性是质量和口味。
某些产品中的属性读取0,这是错误的,必须由其类的模式替换。如下图
我根据其模式对其进行了分组 data.groupby([' class'])[' quality',' taste']。agg(lambda x:x.value_counts()。index [0] )
但请帮助我用对应于其类
的模式替换0答案 0 :(得分:1)
您可以将transform
与replace
:
data[['quality','taste']] = data.groupby(['class'])['quality','taste'].transform(lambda x: x.replace(0, x.value_counts().index[0]))
或使用自定义功能:
def f(x):
a = x.value_counts().index[0]
m = x == 0
x[m] = a
return x
data[['quality','taste']] = data.groupby(['class'])['quality','taste'].transform(f)