如何在dataframe Python中更改值

在过去的30分钟里,我一直在寻找答案,但唯一的解决方案是针对单个列或在R中。我有一个数据集,其中我希望将(’Y/N’)值分别更改为1和0。我觉得复制和粘贴低于17次的代码是非常低效的

df.loc[df.bairs=='n','bairs']=0
df.loc[df.bairs=='y','bairs']=1
df.loc[df.bairs=='?','bairs']=1

我的解决方案如下。这不会导致错误,但数据帧中的值不会更改。我假设我需要做一些像df=df_new这样的事情。但如何做到这一点呢

df中coln的

:
对于coln中的值:
如果值=='y':
值='1'
elif值=='n':
值='0'
其他:
值='1'

编辑:这个数据集中有17列,但我希望处理另一个数据集,它包含56列

共和党NY n.1 y.2 y.3 n.2 n.3 n.4 y.4?y、 5 y.6 y.7 n.5 y.8
0共和党人是吗?
1民主党人?是吗?是的,是的,是的
2民主党人n y n?是的,是的,是的
3民主党人是吗?y y y y
4民主党人是的是的

这应该起作用:

df.columns()中的列的

:
df.loc[df[col]='n',col]=0
df.loc[df[col]='y',col]=1
df.loc[df[col]='?',col]=1

发表评论