我有以下数据框:
col
0 pre
1 post
2 a
3 b
4 post
5 pre
6 pre
我想将数据帧中不包含“pre”的所有行替换为“nonpre”,因此数据帧如下:
col
0 pre
1 nonpre
2 nonpre
3 nonpre
4 nonpre
5 pre
6 pre
我可以使用字典和pandas replace来完成这项工作,但是我只想选择不是“pre”的元素,并用“nonpre”替换它们。在字典中不列出所有可能的列值的情况下,有没有更好的方法可以做到这一点?
最佳答案
只要您熟悉pandas允许的df.loc[condition, column]
语法,这很容易,只需执行df['col'] != 'pre'
即可找到所有应更改的行:
df['col2'] = df['col']
df.loc[df['col'] != 'pre', 'col2'] = 'nonpre'
df
Out[7]:
col col2
0 pre pre
1 post nonpre
2 a nonpre
3 b nonpre
4 post nonpre
5 pre pre
6 pre pre
关于python - Pandas 取代了值(value)观,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27117773/