我正在从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)