可以说我有一个数据框

   C                 D
agree           Average
agree           agree
strongly agree  disagree
disagree        agree


我想做的就是为这样的C列值分配数字?

 C  D
 1  3
 1  1
 2  0
 0  1


我可以将map用于单列,但是如果有多于一列,我该如何将值更改为数字而不用为每一列单独编写(我知道我可以用于循环,但问题是我将如何在此处应用它)

有人知道怎么做吗?

我试图使用一个for循环

def assignNumbers(df):


for i in df:

    dftest= df[i].map({'Average':3, 'Agree':1, 'Disagree':0, 'Strongly Agree':2})

return dftest

最佳答案

一种方法是

df.replace({'Average': 3, 'agree': 1, 'disagree': 0, 'strongly agree': 2})

10-06 01:21