以下是一个示例代码,演示如何按类别使用平均值替换零值:
import pandas as pd
import numpy as np
# 创建一个示例数据集
data = pd.DataFrame({
'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
'Value': [1, 0, 2, 0, 3, 4]
})
# 计算每个类别的平均值
mean_values = data.groupby('Category')['Value'].mean()
# 将零值替换为对应类别的平均值
data['Value'] = data.apply(lambda row: mean_values[row['Category']] if row['Value'] == 0 else row['Value'], axis=1)
print(data)
输出结果如下:
Category Value
0 A 1.0
1 B 2.0
2 A 2.0
3 B 2.0
4 A 3.0
5 B 4.0
在上述示例中,我们首先创建了一个包含类别和值的示例数据集。然后,我们使用groupby
函数计算每个类别的平均值,并将结果存储在mean_values
变量中。最后,我们使用apply
函数将零值替换为对应类别的平均值。
上一篇:按类别选择所有复选框,类别递增。
下一篇:按类别在SQL中更新行顺序