python - 将预定义的数字分配给数据框中的列行值

标签 python pandas loops for-loop dataframe

假设我有一个数据框

   C                 D
agree           Average
agree           agree
strongly agree  disagree
disagree        agree

我想要做的是将数字分配给 C 列值,如下所示?

 C  D
 1  3
 1  1
 2  0
 0  1

我可以使用map对于单列,但如果有多于一列,我如何将值更改为数字,而无需为每一列单独编写(我知道我可以使用 for 循环,但问题是我如何将其应用到这里)

有人知道该怎么做吗?

我尝试使用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})

关于python - 将预定义的数字分配给数据框中的列行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52468877/

相关文章:

java - Java 中的简单数学/转换错误我一直在想念?

python - 如何使用 twisted 手动发送数据

python - 如何使用 openpyxl 3.03 找到 excel 的最后一个非空行?

python - 连接多个数据帧。数据路径问题

python Pandas : compare two columns for equality and result in third dataframe

c++ - 如何循环遍历 vector 并调用通用覆盖函数?

python - 只要按下键,如何让游戏对象连续移动?

python - Tkinter Treeview 右键单击​​事件识别返回上一个右键单击行

python - 动态规划 - 查找最大化分数的列

python - 如何在列和行中同时进行循环以在数据帧的某些位置设置零?