有没有办法替换Pandas DataFrame中的所有实例?

时间:2018-03-25 06:59:24

标签: python-3.x pandas dataframe

我正在从here.学习Pandas Dataframe我遇到了方法replace()。  首先定义一个DataFrame df,它具有以下值:

     Student1 Student2  Student3
0          OK  Perfect  Acceptable
1       Awful    Awful     Perfect
2  Acceptable       OK        Poor

本教程要求执行以下操作:

df.replace(['Awful', 'Poor', 'OK', 'Acceptable', 'Perfect'], [0, 1, 2, 3, 4])

运行该行代码后,当我运行print(df)时,我仍然得到相同的结果:

     Student1 Student2    Student3
0          OK  Perfect  Acceptable
1       Awful    Awful     Perfect
2  Acceptable       OK        Poor

当我在stackoverflow上搜索这个方法时,我开始知道正确的代码行应该是:

df['Student1']=df['Student1'].replace(['Awful', 'Poor', 'OK', 'Acceptable', 'Perfect'], [0, 1, 2, 3, 4])

仅更新专栏' Student1'。所以,如果我有20个列,那么我是否需要手动替换所有20列中的值,或者是否有更好的方法一次替换所有值?

非常感谢。

修改

@jezrael评论中提到的解决方案为我工作。

df.replace(['Awful', 'Poor', 'OK', 'Acceptable', 'Perfect'], [0, 1, 2, 3, 4],inplace=True)

0 个答案:

没有答案