如何根据列值赋值,然后取和的平均值

How to assign values based on column value, then take the average of the sum

我有一个包含 6 列(类别 1、2、...、6)的 df,所有列的值都是“I”、“II”、“III”或“IV”。这些字符串值是适用于每一列的类别。我想制作另一列(“分数”),即根据每一列的值,为每一列值分配一个值,求和并取平均值。

我想将 100 分配给 I 的值,将 70 分配给 II,将 35 分配给 III,将 0 分配给 IV。然后我想为该行总结所有这些,并取平均值。是否可以在不创建超过 1 列的情况下分配这些值并执行求和和平均值?

您可以创建一个字典来映射值并使用 np.mean 获取平均值:

d = {'I': 100, 'II': 70, 'III': 35, 'IV': 0}

df['Average Value'] = df.apply(lambda x: np.mean(x.map(d)), axis = 1)