在 R 中,如果我想根据另一列1
和0
创建一个YES / NO的新列,则以下代码符合我的目的。< / p>
df <- data.frame(alpha = c(50, 51, 52), beta = c(1,0,1))
df$gamma <- factor(df$beta, label = c('no','yes'))
alpha beta gamma
1 50 1 yes
2 51 0 no
3 52 1 yes
但我不知道如何在 Python 中做同样的事情。任何人都可以完成以下代码或建议不同的方法吗?
import pandas as pd
df = pd.DataFrame({'alpha': [50, 51, 52], 'beta': [1,0,1]})
df['gamma'] = ??????
提前致谢。 (越简单越好)
答案 0 :(得分:2)
您可以使用pd.Series.map
,它接受字典输入:
import pandas as pd
df = pd.DataFrame({'alpha': [50, 51, 52], 'beta': [1,0,1]})
df['gamma'] = df['beta'].map({True: 'yes', False: 'no'})